Requests: vírgula no caso: juntar vários cabeçalhos Set-Cookie

Criado em 7 abr. 2017  ·  3Comentários  ·  Fonte: psf/requests

Muitos aplicativos da web enviam cookies em vários cabeçalhos Set-Cookie, um cabeçalho para um cookie. Requests junta esses cabeçalhos em um grande cabeçalho separado por vírgula.

Do mesmo webapp para requests.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

Em solicitações:
resp.headers, este 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 inválido interpretou estes cookies porque o separador é uma vírgula, mas no campo EXPIRES vírgula separe o dia e a data.

Principal problema no tráfego de modificação. Na minha opinião, o servidor enviar vários cabeçalhos lib deve retornar vários cabeçalhos

Comentários muito úteis

Requests não promete deixar os cabeçalhos na forma em que foram recebidos do servidor. No momento, eu recomendo fortemente que você use o cookiejar Requests usa para armazenar cookies em vez de extraí-los dos cabeçalhos: nós os inserimos corretamente lá.

A longo prazo, provavelmente deveríamos adicionar uma correção para excluir o cabeçalho Set-Cookie de se juntar desta forma.

Todos 3 comentários

Requests não promete deixar os cabeçalhos na forma em que foram recebidos do servidor. No momento, eu recomendo fortemente que você use o cookiejar Requests usa para armazenar cookies em vez de extraí-los dos cabeçalhos: nós os inserimos corretamente lá.

A longo prazo, provavelmente deveríamos adicionar uma correção para excluir o cabeçalho Set-Cookie de se juntar desta forma.

Isso nos incomodou e nos custou algumas horas. Eu gostaria de votar para deixar Set-Cookie intacto. Por que as solicitações mexem com os cabeçalhos de qualquer maneira? Existe algum bom motivo para isso? IMHO, isso só complica as coisas para todos. o que estou perdendo?
Obrigado pelo seu bom trabalho!

Olá, existe uma maneira de analisar os cabeçalhos corretamente com https://github.com/Ousret/kiss-headers requests ; não será possível alterar sua representação para os cabeçalhos tão cedo.

Esta página foi útil?
0 / 5 - 0 avaliações