5b10b419a2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
---
|
|
id: cdp_get_cookies_go_browser
|
|
name: cdp_get_cookies
|
|
kind: function
|
|
lang: go
|
|
domain: browser
|
|
purity: impure
|
|
version: 1.0.0
|
|
tested: false
|
|
description: "Devuelve todas las cookies del browser via Network.getAllCookies; el caller filtra por dominio o nombre sobre el slice []CdpCookie."
|
|
tags: [cdp, browser, cookie, network, navegator]
|
|
signature: "func CdpGetCookies(c *CDPConn) ([]CdpCookie, error)"
|
|
uses_functions: []
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: error_go_core
|
|
imports: []
|
|
file_path: "functions/browser/cdp_get_cookies.go"
|
|
example: |
|
|
conn, _ := CdpConnect(9222)
|
|
cookies, err := CdpGetCookies(conn)
|
|
if err != nil { log.Fatal(err) }
|
|
for _, ck := range cookies {
|
|
if ck.Domain == "app.example.com" {
|
|
fmt.Printf("name=%s value=%s httpOnly=%v\n", ck.Name, ck.Value, ck.HTTPOnly)
|
|
}
|
|
}
|
|
params:
|
|
- name: c
|
|
desc: "Conexion CDP activa al browser (obtenida con CdpConnect)"
|
|
output: "Slice de CdpCookie con todas las cookies del browser; error si falla la comunicacion CDP."
|
|
---
|
|
|
|
## Ejemplo
|
|
|
|
```go
|
|
conn, _ := CdpConnect(9222)
|
|
cookies, err := CdpGetCookies(conn)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
for _, ck := range cookies {
|
|
if ck.Domain == "app.example.com" {
|
|
fmt.Printf("name=%s value=%s httpOnly=%v\n", ck.Name, ck.Value, ck.HTTPOnly)
|
|
}
|
|
}
|
|
```
|
|
|
|
## Cuando usarla
|
|
|
|
Usar cuando necesitas inspeccionar el estado de cookies del browser tras un login CDP, antes de propagarlas a otro contexto, o para auditar sesiones activas en tests e2e.
|
|
|
|
## Gotchas
|
|
|
|
- Llama `Network.enable` internamente antes de `getAllCookies`; es idempotente pero suma latencia en la primera llamada.
|
|
- `Network.getAllCookies` devuelve cookies de TODOS los dominios del browser, no solo la tab activa. Filtrar por `Domain` en el caller.
|
|
- Las cookies HttpOnly son visibles via CDP aunque no lo sean desde JavaScript del browser.
|
|
- `Expires == -1` indica cookie de sesion (sin fecha de expiración).
|