![]() |
THTTPClient.AutomaticDecompression issues
Wenn ich System.Net.HttpClient.THTTPClient.AutomaticDecompr ession mit dem Wert "Any" setze, kann ich einige Websites nicht lesen. Setze ich jedoch "Deflate", laden sie Seiten einwandfrei. Soll das so sein, das bei "Any" einige Seiten licht laden? Sollte der THttpClient das nicht automatisch machen? Wofür ist sonst "Any" gut, wenn es nicht klappt?
|
AW: THTTPClient.AutomaticDecompression issues
Eventuell, weil die Gegenseite nicht weiß, was sie in dem Fall liefern soll und deshalb kein Ergebnis liefert?
Was ist unter Zitat:
Gibt es keinen Responsecode, mit dessen Hilfe weitergeforscht werden könnte? Oder ist der 200 und es klappt trotzdem nicht? Das Problem würd' ich nicht ausschließlich auf der Clientseite suchen. |
AW: THTTPClient.AutomaticDecompression issues
Accept-Encoding Any ist schon mal doof, weil es gzip, deflate, br erlaubt. Und br funktioniert nicht auf allen Client OS. Bei Windows jedenfalls nicht. Was steht denn bei der Response in Content-Encoding? Im Notfall kannst Du das selber decomprimieren.
|
AW: THTTPClient.AutomaticDecompression issues
Zitat:
Mit anderen Worten: Die Seite (und auch einige andere in meiner Liste) liefert unkompremierte Daten, und der Responseheader sagt das es GZip kompremiert ist. |
AW: THTTPClient.AutomaticDecompression issues
Hast Du mal den Rohdatenstream? Ist der evtl. noch base64-encoded? Wie sieht der Code zum Entpacken aus? Ich würde anstelle der Indy auch eher System.ZLib.TZDecompressionStream verwenden.
|
AW: THTTPClient.AutomaticDecompression issues
Zitat:
|
AW: THTTPClient.AutomaticDecompression issues
Das ist in der Tat bedenklich. Falls das tatsächlich vom Server in der Art falsch kommt, könntest Du höchstens auf Vorhandensein des GZip-Headers (1f 8b ..) prüfen und dann entpacken oder nicht. Sind das frei zugängliche Seiten, die man mal testen könnte?
Wie sieht der komplette Response-Header aus? Wird vielleicht Transfer-Encoding verwendet? |
AW: THTTPClient.AutomaticDecompression issues
Zitat:
Zitat:
Zitat:
|
AW: THTTPClient.AutomaticDecompression issues
Die Seite verursacht im Browser ERR_CONTENT_DECODING_FAILED. Scheint ein Problem von shopify zu sein.
|
AW: THTTPClient.AutomaticDecompression issues
Nunja, wenn es
Delphi-Quellcode:
sagt, aber dann doch unkomprimiert senden täte, dann wäre das natürlich ein Fehler.
Content-Encoding: gzip
|
AW: THTTPClient.AutomaticDecompression issues
Zitat:
|
AW: THTTPClient.AutomaticDecompression issues
Das häng wohl mit dem Raise der Exception (OuterException) zusammen. Verwendest Du TRestClient? Schau Dir mal den Event OnHTTPProtocolError an. Für so einen Sonderfall würde ich die automatische Decompression ausschalten und das selber behandeln.
|
AW: THTTPClient.AutomaticDecompression issues
Zitat:
|
AW: THTTPClient.AutomaticDecompression issues
Viel Erfolg. Dabei kannst Du ja auch gleich br für Win implementieren :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz