Muchas aplicaciones web envían cookies en varios encabezados Set-Cookie, un encabezado para una cookie. Requests une estos encabezados en un encabezado grande separado por comas.
De la misma aplicación web a request.get
Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly
Set-Cookie: Cookie1=token2; path=/ecp
Set-Cookie: X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly
Set-Cookie: X-BackEndCookie=token3; expires=Mon, 03-Apr-2017 12:25:07 GMT; path=/ecp; HttpOnly
En solicitudes:
respectivamente encabezados esto se parece
Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly,
Cookie1=token2; path=/ecp,
X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly,
X-BackEndCookie=token3; expires=Thu, 06-Apr-2017 08:27:22 GMT; path=/ecp; HttpOnly
Firefox, IE, Chrome no es válido interpretó estas cookies porque el separador es una coma, pero en el campo EXPIRES separe el día y la fecha con una coma.
Problema principal en el tráfico de modificaciones. En mi opinión, el servidor envía varios encabezados, la biblioteca debe devolver varios encabezados
Requests no promete dejar los encabezados en la forma en que se reciben del servidor. En este momento, le recomiendo encarecidamente que utilice el cookiejar Requests que utiliza para almacenar cookies en lugar de extraerlas de los encabezados: las insertamos correctamente allí.
A largo plazo, probablemente deberíamos agregar una solución para excluir el encabezado Set-Cookie
de unirse de esta manera.
Esto nos ha mordido y nos ha costado bastantes horas. Me gustaría votar para dejar intacto Set-Cookie
. ¿Por qué las solicitudes juegan con los encabezados de todos modos? ¿Existe alguna buena razón para ello? En mi humilde opinión, solo complica las cosas para todos. ¿Qué me estoy perdiendo?
¡Gracias por tu buen trabajo!
Hola, hay una manera de analizar los encabezados correctamente con https://github.com/Ousret/kiss-headers requests
no podrá cambiar su representación para los encabezados en el corto plazo.
Comentario más útil
Requests no promete dejar los encabezados en la forma en que se reciben del servidor. En este momento, le recomiendo encarecidamente que utilice el cookiejar Requests que utiliza para almacenar cookies en lugar de extraerlas de los encabezados: las insertamos correctamente allí.
A largo plazo, probablemente deberíamos agregar una solución para excluir el encabezado
Set-Cookie
de unirse de esta manera.