Requests: Komma für den Fall: Verbinden Sie mehrere Set-Cookie-Header

Erstellt am 7. Apr. 2017  ·  3Kommentare  ·  Quelle: psf/requests

Viele Web-Apps senden Cookies in mehreren Set-Cookie-Headern, ein Header für ein Cookie. Requests verbindet diese Header in einem großen Header, getrennt durch Komma.

Von derselben Webapp zu 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

Bei Anfragen:
bzw. Header so aussehen

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 interpretierten diese Cookies ungültig, da das Trennzeichen ein Komma ist, aber im Feld EXPIRES ein Komma Tag und Datum trennen.

Hauptproblem im Änderungsverkehr. Meiner Meinung nach muss der Server dann mehrere Header senden lib muss mehrere Header zurückgeben

Hilfreichster Kommentar

Requests macht keine Zusagen, Header in der Form zu belassen, in der sie vom Server empfangen werden. Im Moment empfehle ich Ihnen dringend, die Cookies zu verwenden, die Requests verwendet, um Cookies zu speichern, anstatt sie aus den Headern zu extrahieren: Wir fügen sie dort richtig ein.

Längerfristig sollten wir wahrscheinlich einen Fix hinzufügen, um den Set-Cookie Header von diesem Beitritt auszuschließen.

Alle 3 Kommentare

Requests macht keine Zusagen, Header in der Form zu belassen, in der sie vom Server empfangen werden. Im Moment empfehle ich Ihnen dringend, die Cookies zu verwenden, die Requests verwendet, um Cookies zu speichern, anstatt sie aus den Headern zu extrahieren: Wir fügen sie dort richtig ein.

Längerfristig sollten wir wahrscheinlich einen Fix hinzufügen, um den Set-Cookie Header von diesem Beitritt auszuschließen.

Das hat uns gebissen und uns einige Stunden gekostet. Ich würde gerne dafür stimmen, Set-Cookie intakt zu lassen. Warum fummeln Anfragen überhaupt an den Headern herum? Gibt es einen guten Grund dafür? IMHO verkompliziert es nur die Dinge für alle. Was vermisse ich?
Danke für deine gute Arbeit!

Hallo, es gibt eine Möglichkeit, Header mit https://github.com/Ousret/kiss-headers korrekt zu parsen. requests wird ihre Darstellung für Header in absehbarer Zeit nicht mehr ändern können.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

remram44 picture remram44  ·  4Kommentare

jakul picture jakul  ·  3Kommentare

NoahCardoza picture NoahCardoza  ·  4Kommentare

JimHokanson picture JimHokanson  ·  3Kommentare

8key picture 8key  ·  3Kommentare