Analizador de Set-Cookie API

API ID 14204

Verifica las cookies que un sitio establece por cada redirección y en JSON por banderas faltantes Secure/HttpOnly/SameSite y violaciones de RFC desde CI o un script Cada cookie se informa con sus atributos Host-/

Documentación de la API

Endpoints

Solicitud
Recupera la URL sigue hasta 5 redireccionamientos paso a paso y analiza cada encabezado Set-Cookie de cada paso Los resultados se almacenan en caché durante 6 horas y el parámetro fresh omite la caché Un valor sin un esquema como example.com se trata como https
Endpoint ID: 35259
GET https://zylalabs.com/api/14204/set-cookie+analyzer+api/35259/analyze+the+set-cookie+headers+of+a+url
PARÁMETROS DE ENTRADA

Pruebas gratuitas restantes: 3 de 3.


PARÁMETROS DE ENTRADA

Este endpoint no requiere parámetros de entrada.

RESPUESTA DE EJEMPLO DE LA API
JSON
{
    "url": "https://github.com/",
    "finalUrl": "https://github.com/",
    "statusCode": 200,
    "redirectChain": [
        {
            "url": "https://github.com/",
            "statusCode": 200,
            "cookieCount": 3
        }
    ],
    "cookieCount": 3,
    "grade": "A+",
    "score": 99,
    "summary": {
        "errors": 0,
        "warnings": 0,
        "infos": 3
    },
    "cookies": [
        {
            "name": "_gh_sess",
            "valueLength": 354,
            "valuePreview": "55D…",
            "attributes": {
                "domain": null,
                "path": "/",
                "expires": null,
                "maxAge": null,
                "secure": true,
                "httpOnly": true,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 362,
            "issues": [],
            "score": 100,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        },
        {
            "name": "_octo",
            "valueLength": 27,
            "valuePreview": "GH1…",
            "attributes": {
                "domain": ".github.com",
                "path": "/",
                "expires": "2027-10-12T16:56:41.000Z",
                "maxAge": null,
                "secure": true,
                "httpOnly": false,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 31536000,
                "source": "expires"
            },
            "deletion": false,
            "sizeBytes": 32,
            "issues": [
                {
                    "severity": "info",
                    "code": "domain_leading_dot",
                    "message": "A leading dot in Domain is ignored by modern browsers (RFC 6265 section 5.2.3); it can be removed."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                }
            ],
            "score": 98,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        },
        {
            "name": "logged_in",
            "valueLength": 2,
            "valuePreview": "…",
            "attributes": {
                "domain": ".github.com",
                "path": "/",
                "expires": "2027-10-12T16:56:41.000Z",
                "maxAge": null,
                "secure": true,
                "httpOnly": true,
                "sameSite": "Lax",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 31536000,
                "source": "expires"
            },
            "deletion": false,
            "sizeBytes": 11,
            "issues": [
                {
                    "severity": "info",
                    "code": "domain_leading_dot",
                    "message": "A leading dot in Domain is ignored by modern browsers (RFC 6265 section 5.2.3); it can be removed."
                }
            ],
            "score": 99,
            "grade": "A+",
            "setBy": {
                "hop": 1,
                "url": "https://github.com/",
                "statusCode": 200
            }
        }
    ],
    "cached": false,
    "checkedAt": "2026-10-12T16:56:41.406Z"
}
Analiza los encabezados Set-Cookie de una URL — CÓDIGOS DE EJEMPLO

curl --location --request GET 'https://zylalabs.com/api/14204/set-cookie+analyzer+api/35259/analyze+the+set-cookie+headers+of+a+url' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Solicitud
Analiza los encabezados Set-Cookie que proporcionas y no realiza solicitudes salientes Proporciona los encabezados como un bloque de encabezado sin procesar con un Set-Cookie por línea se ignoran otras líneas de encabezado o setCookie como un arreglo Máximo 50 cookies 8 KB cada una
Endpoint ID: 35260
POST https://zylalabs.com/api/14204/set-cookie+analyzer+api/35260/analyze+pasted+set-cookie+header+text+offline
PARÁMETROS DE ENTRADA

Analiza el texto del encabezado Set-Cookie pegado sin conexión — Características del Endpoint

Objeto Descripción
Cuerpo de la Solicitud Requerido Json

Pruebas gratuitas restantes: 3 de 3.


PARÁMETROS DE ENTRADA

RESPUESTA DE EJEMPLO DE LA API
JSON
{
    "cookieCount": 3,
    "grade": "D",
    "score": 66,
    "summary": {
        "errors": 2,
        "warnings": 4,
        "infos": 5
    },
    "assumptions": {
        "https": true,
        "host": null,
        "note": "Parsed offline. Secure checks assume the cookie was served over HTTPS (set \"https\": false to change); Domain checks run only when \"host\" is given."
    },
    "cookies": [
        {
            "name": "__Host-id",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": "a.com",
                "path": null,
                "expires": null,
                "maxAge": null,
                "secure": false,
                "httpOnly": false,
                "sameSite": null,
                "partitioned": false,
                "priority": null
            },
            "prefix": "__Host-",
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 10,
            "issues": [
                {
                    "severity": "error",
                    "code": "host_prefix_violation",
                    "message": "A __Host- cookie requires the Secure attribute, Path=/, no Domain attribute (RFC 6265bis section 4.1.3.2); browsers reject it otherwise."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                },
                {
                    "severity": "info",
                    "code": "samesite_missing",
                    "message": "No SameSite attribute: browsers default to Lax (Chrome, Edge, Firefox in some modes). State the intent explicitly with SameSite=Lax, Strict or None."
                }
            ],
            "score": 63,
            "grade": "D"
        },
        {
            "name": "s",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": null,
                "path": null,
                "expires": null,
                "maxAge": null,
                "secure": false,
                "httpOnly": false,
                "sameSite": "None",
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "session",
                "seconds": null,
                "source": null
            },
            "deletion": false,
            "sizeBytes": 2,
            "issues": [
                {
                    "severity": "error",
                    "code": "samesite_none_requires_secure",
                    "message": "SameSite=None requires the Secure attribute; Chrome, Firefox and Safari reject the cookie otherwise (RFC 6265bis section 4.1.2.7)."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                }
            ],
            "score": 64,
            "grade": "D"
        },
        {
            "name": "t",
            "valueLength": 1,
            "valuePreview": "…",
            "attributes": {
                "domain": null,
                "path": null,
                "expires": null,
                "maxAge": 99999999,
                "secure": false,
                "httpOnly": false,
                "sameSite": null,
                "partitioned": false,
                "priority": null
            },
            "prefix": null,
            "lifetime": {
                "type": "persistent",
                "seconds": 99999999,
                "source": "max-age"
            },
            "deletion": false,
            "sizeBytes": 2,
            "issues": [
                {
                    "severity": "warning",
                    "code": "lifetime_exceeds_400_days",
                    "message": "The lifetime is about 1157 days; Chrome caps cookie lifetime at 400 days (RFC 6265bis section 5.5), so it will be truncated."
                },
                {
                    "severity": "warning",
                    "code": "secure_missing",
                    "message": "The cookie has no Secure attribute although it was served over HTTPS, so browsers may also send it over plain HTTP."
                },
                {
                    "severity": "info",
                    "code": "httponly_missing",
                    "message": "The cookie has no HttpOnly attribute, so scripts can read it. Fine if JavaScript needs it; otherwise add HttpOnly."
                },
                {
                    "severity": "info",
                    "code": "samesite_missing",
                    "message": "No SameSite attribute: browsers default to Lax (Chrome, Edge, Firefox in some modes). State the intent explicitly with SameSite=Lax, Strict or None."
                }
            ],
            "score": 78,
            "grade": "C"
        }
    ],
    "checkedAt": "2026-10-12T16:57:50.219Z"
}
Analiza el texto del encabezado Set-Cookie pegado sin conexión — CÓDIGOS DE EJEMPLO

curl --location --request POST 'https://zylalabs.com/api/14204/set-cookie+analyzer+api/35260/analyze+pasted+set-cookie+header+text+offline' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{"headers":"Set-Cookie: __Host-id=1; Domain=a.com\nSet-Cookie: s=1; SameSite=None\nSet-Cookie: t=1; Max-Age=99999999"}'

    

Clave de Acceso a la API y Autenticación

Después de registrarte, a cada desarrollador se le asigna una clave de acceso a la API personal, una combinación única de letras y dígitos proporcionada para acceder a nuestro endpoint de la API. Para autenticarte con el Analizador de Set-Cookie API simplemente incluye tu token de portador en el encabezado de Autorización.

Encabezados
Encabezado Descripción
Autorización Requerido Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito.

Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.

Comienza en
$10.000/Año


  • Volumen Personalizado
  • Límite de solicitudes personalizado
  • Soporte al Cliente Especializado
  • Monitoreo de API en Tiempo Real

Resumen

Verifique las cookies que establece un sitio, por cada salto de redirección y en JSON, en busca de banderas Secure/HttpOnly/SameSite faltantes y violaciones a las RFC, desde CI o un script. Cada cookie se informa con sus atributos, reglas de prefijos __Host-/__Secure-, tiempo de vida y tamaño, y la respuesta lleva problemas codificados más una calificación general (A+ a F) y un puntaje sobre 100. Las verificaciones se basan en la RFC 6265 y el borrador RFC 6265bis (SameSite=None necesita Secure, requisitos de prefijo, límite de vida útil de 400 días, límite de 4096 bytes) más prácticas recomendadas comunes, como señalar nombres de cookies similares a sesiones que carecen de HttpOnly. La calificación y el puntaje utilizan nuestra propia fórmula; describen solo atributos de cookies y no son una auditoría de seguridad del sitio o una verificación del consentimiento de cookies o del cumplimiento de la ley de privacidad. Las redirecciones se siguen salto a salto (hasta 5) y las cookies de cada salto se analizan. Los valores completos de las cookies nunca se devuelven: solo valueLength y un breve valuePreview enmascarado (como máximo los primeros 3 caracteres). Un segundo endpoint analiza el texto del encabezado Set-Cookie que pegas, sin conexión, sin solicitud saliente. Los resultados reflejan una única solicitud GET anónima desde nuestros servidores; las cookies establecidas por JavaScript, o solo después de iniciar sesión o dar consentimiento, no son visibles, y los sitios que bloquean el tráfico de centros de datos pueden agotar el tiempo de espera o mostrar menos cookies. Los resultados de /v1/analyze se almacenan en caché durante 6 horas por URL; agrega fresh=1 para omitir la caché. Los objetivos de red privada son rechazados

Analizador de Set-Cookie API FAQs

El endpoint GET devuelve un objeto JSON que contiene resultados del análisis de cookies incluyendo la URL final el código de estado la cadena de redireccionamiento el conteo de cookies la calificación la puntuación y atributos detallados de las cookies El endpoint POST devuelve datos similares pero se centra en los encabezados Set-Cookie proporcionados incluyendo errores advertencias y atributos de las cookies

Los campos clave incluyen `url`, `finalUrl`, `statusCode`, `cookieCount`, `grade`, `score` y `cookies`. Cada objeto de cookie contiene atributos como `name`, `valueLength`, `valuePreview` y flags como `secure`, `httpOnly` y `sameSite`

Los datos devueltos están en formato JSON La estructura incluye un objeto de nivel superior con información resumida y un arreglo de objetos de cookies cada uno detallando atributos y problemas de cumplimiento Por ejemplo el arreglo de `cookies` contiene detalles de cookies individuales como `name` `valueLength` y `attributes`

El endpoint GET proporciona atributos de cookies calificaciones de cumplimiento y análisis de redirección El endpoint POST ofrece información sobre las cabeceras Set-Cookie proporcionadas incluyendo errores y advertencias relacionadas con los atributos de cookies y el cumplimiento de normas

Los datos de respuesta están organizados en un objeto principal que contiene información resumida y un arreglo de cookies. Cada objeto de cookie incluye sus atributos y estado de cumplimiento, lo que permite a los usuarios evaluar fácilmente la seguridad de las cookies y la adhesión a los estándares

Los datos se obtienen de las respuestas HTTP recibidas durante el análisis de la URL especificada o de los encabezados Set-Cookie proporcionados La API sigue la RFC 6265 y las mejores prácticas para evaluar los atributos de las cookies y el cumplimiento

Los casos de uso típicos incluyen auditar la seguridad de las cookies para aplicaciones web garantizar el cumplimiento de los estándares de cookies e identificar posibles vulnerabilidades en las configuraciones de cookies Los desarrolladores pueden integrar este análisis en los pipelines de CI/CD para verificaciones automatizadas

Los usuarios pueden personalizar las solicitudes especificando el parámetro `fresh` en el punto final GET para omitir los resultados en caché En el punto final POST, los usuarios pueden proporcionar encabezados Set-Cookie personalizados en varios formatos, lo que permite un análisis adaptado de cookies específicas

Preguntas frecuentes generales

Zyla API Hub es como una gran tienda de APIs, donde puedes encontrar miles de ellas en un solo lugar. También ofrecemos soporte dedicado y monitoreo en tiempo real de todas las APIs. Una vez que te registres, puedes elegir qué APIs quieres usar. Solo recuerda que cada API necesita su propia suscripción. Pero si te suscribes a varias, usarás la misma clave para todas, lo que hace todo más fácil para ti.
Los precios se muestran en USD (dólar estadounidense), EUR (euro), CAD (dólar canadiense), AUD (dólar australiano) y GBP (libra esterlina). Aceptamos todas las principales tarjetas de débito y crédito. Nuestro sistema de pago utiliza la última tecnología de seguridad y está respaldado por Stripe, una de las compañías de pago más confiables del mundo. Si tienes algún problema para pagar con tarjeta, contáctanos en [email protected]

Además, si ya tienes una suscripción activa en cualquiera de estas monedas (USD, EUR, CAD, AUD, GBP), esa moneda se mantendrá para suscripciones posteriores. Puedes cambiar la moneda en cualquier momento siempre que no tengas suscripciones activas.
La moneda local que aparece en la página de precios se basa en el país de tu dirección IP y se proporciona solo como referencia. Los precios reales están en USD (dólar estadounidense). Cuando realices un pago, el cargo aparecerá en tu estado de cuenta en USD, incluso si ves el monto equivalente en tu moneda local en nuestro sitio web. Esto significa que no puedes pagar directamente en tu moneda local.
Ocasionalmente, un banco puede rechazar el cargo debido a sus configuraciones de protección contra fraude. Te sugerimos comunicarte con tu banco primero para verificar si están bloqueando nuestros cargos. También puedes acceder al Portal de Facturación y cambiar la tarjeta asociada para realizar el pago. Si esto no funciona y necesitas más ayuda, por favor contacta a nuestro equipo en [email protected]
Los precios se determinan mediante una suscripción recurrente mensual o anual, dependiendo del plan elegido.
Las llamadas a la API se descuentan de tu plan en base a solicitudes exitosas. Cada plan incluye una cantidad específica de llamadas que puedes realizar por mes. Solo las llamadas exitosas, indicadas por una respuesta con estado 200, se contarán en tu total. Esto asegura que las solicitudes fallidas o incompletas no afecten tu cuota mensual.
Zyla API Hub funciona con un sistema de suscripción mensual recurrente. Tu ciclo de facturación comenzará el día en que compres uno de los planes de pago, y se renovará el mismo día del mes siguiente. Así que recuerda cancelar tu suscripción antes si quieres evitar futuros cargos.
Para actualizar tu plan de suscripción actual, simplemente ve a la página de precios de la API y selecciona el plan al que deseas actualizarte. La actualización será instantánea, permitiéndote disfrutar inmediatamente de las funciones del nuevo plan. Ten en cuenta que las llamadas restantes de tu plan anterior no se transferirán al nuevo plan, por lo que debes considerar esto al actualizar. Se te cobrará el monto total del nuevo plan.
Para verificar cuántas llamadas a la API te quedan en el mes actual, revisa el campo 'X-Zyla-API-Calls-Monthly-Remaining' en el encabezado de la respuesta. Por ejemplo, si tu plan permite 1,000 solicitudes por mes y has usado 100, este campo mostrará 900 llamadas restantes.
Para ver el número máximo de solicitudes a la API que permite tu plan, revisa el encabezado de la respuesta 'X-Zyla-RateLimit-Limit'. Por ejemplo, si tu plan incluye 1,000 solicitudes por mes, este encabezado mostrará 1,000.
El encabezado 'X-Zyla-RateLimit-Reset' muestra el número de segundos hasta que tu límite se restablezca. Esto te indica cuándo tu conteo de solicitudes se reiniciará. Por ejemplo, si muestra 3,600, significa que faltan 3,600 segundos para que el límite se restablezca.
Sí, puedes cancelar tu plan en cualquier momento desde tu cuenta, seleccionando la opción de cancelación en la página de Facturación. Ten en cuenta que las actualizaciones, degradaciones y cancelaciones tienen efecto inmediato. Además, al cancelar ya no tendrás acceso al servicio, incluso si te quedaban llamadas en tu cuota.
Para darte la oportunidad de probar nuestras APIs sin compromiso, ofrecemos una prueba gratuita de 7 días que te permite realizar hasta 50 llamadas a la API sin costo. Esta prueba solo se puede usar una vez, por lo que recomendamos aplicarla a la API que más te interese. Aunque la mayoría de nuestras APIs ofrecen prueba gratuita, algunas pueden no hacerlo. La prueba finaliza después de 7 días o cuando realices 50 solicitudes, lo que ocurra primero. Si alcanzas el límite de 50 solicitudes durante la prueba, deberás "Iniciar tu Plan de Pago" para continuar haciendo solicitudes. Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios. Alternativamente, si no cancelas tu suscripción antes del día 7, tu prueba gratuita finalizará y tu plan se cobrará automáticamente, otorgándote acceso a todas las llamadas a la API especificadas en tu plan. Ten esto en cuenta para evitar cargos no deseados.
Después de 7 días, se te cobrará el monto total del plan al que estabas suscrito durante la prueba. Por lo tanto, es importante cancelar antes de que finalice el periodo de prueba. No se aceptan solicitudes de reembolso por olvidar cancelar a tiempo.
Cuando te suscribes a una prueba gratuita de una API, puedes realizar hasta 50 llamadas. Si deseas realizar más llamadas después de este límite, la API te pedirá que "Inicies tu Plan de Pago". Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios.
Las Órdenes de Pago se procesan entre el día 20 y el 30 de cada mes. Si envías tu solicitud antes del día 20, tu pago será procesado dentro de ese período.
Puedes contactarnos a través de nuestro canal de chat para recibir asistencia inmediata. Siempre estamos en línea de 8 a. m. a 5 p. m. (EST). Si nos contactas fuera de ese horario, te responderemos lo antes posible. Además, puedes escribirnos por correo electrónico a [email protected]

También te puede interesar