Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

434
Vistas
Acceso a todas las cookies en la respuesta de prueba de Flask

Después de realizar una solicitud con el cliente de prueba de Flask, quiero acceder a las cookies que establece el servidor. Si itero sobre response.headers , veo varios encabezados Set-Cookie , pero si hago response.headers["Set-Cookie"] , solo obtengo un valor. Además, los encabezados son cadenas sin analizar que son difíciles de probar.

 response = client.get("/") print(response.headers['Set-Cookie']) 'mycookie=value; Expires=Thu, 27-Jun-2019 13:42:19 GMT; Max-Age=1800; Path=/' for item in response.headers: print(item) ('Content-Type', 'application/javascript') ('Content-Length', '215') ('Set-Cookie', 'mycookie=value; Expires=Thu, 27-Jun-2019 13:42:19 GMT; Max-Age=1800; Path=/') ('Set-Cookie', 'mycookie2=another; Domain=.client.com; Expires=Sun, 04-Apr-2021 13:42:19 GMT; Max-Age=62208000; Path=/') ('Set-Cookie', 'mycookie3=something; Domain=.client.com; Expires=Thu, 04-Apr-2019 14:12:19 GMT; Max-Age=1800; Path=/')

¿Por qué acceder al encabezado Set-Cookie solo me da un encabezado? ¿Cómo puedo acceder a las cookies y sus propiedades para realizar pruebas?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

response.headers es un MultiDict , que proporciona el método getlist para obtener todos los valores de una clave dada.

 response.headers.getlist('Set-Cookie')

Podría ser más útil examinar las cookies que tiene el cliente, en lugar de los encabezados Set-Cookie procesar específicos devueltos por una respuesta. client.cookie_jar es una instancia de CookieJar , la iteración produce instancias de Cookie . Por ejemplo, para obtener el valor de la cookie con el nombre "user_id":

 client.post("/login") cookie = next( (cookie for cookie in client.cookie_jar if cookie.name == "user_id"), None ) assert cookie is not None assert cookie.value == "4"
over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta anterior me guió a una versión ligeramente alternativa según lo que quieras hacer con la cookie.

Intenté usar client.cookie_jar , pero estaba probando algunos atributos "no estándar" como HttpOnly y SameSite . La cookie devuelta por client.cookie_jar no las devuelve, así que inspecciono el encabezado Set-Cookie :

 from werkzeug.http import parse_cookie cookies = response.headers.getlist('Set-Cookie') cookie = next( (cookie for cookie in cookies if expected_cookie_name in cookie), None ) assert cookie is not None cookie_attrs = parse_cookie(cookie) assert cookie_attrs[expected_cookie_name] == expected_cookie_value assert 'Secure' in cookie_attrs assert 'HttpOnly' in cookie_attrs assert cookie_attrs['SameSite'] == 'Lax'
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda