easy:SetOpt_Accept_Encoding(enc)
Setzt den Inhalt des Accept-Encoding: Header, der in einer HTTP-Anfrage gesendet wird und ermöglicht die Dekodierung einer Antwort, wenn ein Content-Encoding: Header empfangen wird.
libcurl unterstützt potenziell mehrere verschiedene komprimierte Kodierungen, je nachdem, welche Unterstützung eingebaut wurde.
Um Anwendungen zu unterstützen, die sich nicht darum kümmern müssen, welche spezifischen Algorithmen dieser spezielle libcurl-Build unterstützt, erlaubt libcurl, eine Null-Länge-Zeichenkette zu setzen (""), um nach einer Accept-Encoding: Header zu fragen, die alle eingebauten unterstützten Kodierungen enthält.
Alternativ können Sie auch genau die Kodierung oder die Liste der Kodierungen
angeben, die Sie in der Antwort wünschen. Es werden vier Kodierungen
unterstützt: identity
, d.h. nicht komprimiert, deflate
, die den Server
auffordert, seine Antwort mit dem zlib-Algorithmus zu komprimieren, gzip
,
das den gzip-Algorithmus anfordert und (seit Curl 7.57.0) br
, der Browser ist.
Stellen Sie sie in der Zeichenkette als kommagetrennte Liste der
akzeptierten Kodierungen bereit, wie z.B.:
"br, gzip, deflate". |
Setzen Sie #CURLOPT_ACCEPT_ENCODING
auf Null, um es explizit zu deaktivieren,
was dazu führt, dass libcurl keinen Accept-Encoding: Header sendet und empfangene
Inhalte nicht automatisch dekomprimiert.
Sie können sich auch dafür entscheiden, den Accept-Encoding: Header einfach
in Ihre Anfrage mit #CURLOPT_HTTPHEADER
aufzunehmen, aber dann gibt es
keine automatische Dekompression beim Empfangen von Daten.
Dies ist eine Abfrage, nicht eine Anweisung; der Server kann es tun oder auch nicht. Diese Option muss gesetzt sein (auf einen Nicht-Nil-Wert), sonst wird jede unerwünschte Verschlüsselung durch den Server ignoriert.
Server können mit Content-Encoding antworten, auch ohne einen Accept-Encoding: in der Anfrage. Server können mit einer anderen Content-Kodierung antworten, als in der Anfrage gefordert wurde.
Die Content-Length: Server, die eine komprimierte Antwort senden, sollen die Länge des komprimierten Content angeben, so dass bei aktivierter automatischer Dekodierung die Summe der von den Schreib-Callbacks gemeldeten Bytes nicht übereinstimmen kann (obwohl das Senden der Länge des nicht komprimierten Inhalts ein häufiger Serverfehler ist).