krzaki zamiast źródła HTML w pakietach HTTP

0

Jak wysyłam zapytanie o jakąś stronę, to w odpowiedzi z reguły dostaję nagłówek HTTP + źródło HTML strony. Czasami jednak dostaję nagłówek HTTP + jakieś dziwne znaki. Domyślam się, że to zakodowane jakoś źródło, bo przeglądarka dostaje dokładnie taki sam pakiet i mimo to wyświetla stronę, a jak ma pokazać jej źródło to też sobie radzi. Mam więc pytanie, czy jest w Delphi coś, co pozwoli z tych dziwnych znaków zrobić normalne źródło HTML? Nie chodzi mi o komponenty typu IdHTTP, bo piszę w Winsocku i chcę, żeby tak zostało, chodzi mi jedynie o moduł dekodujący, z góry dzięki za pomoc.

0

Zwróć uwage na kodowanie strony, oraz to czy nie jest skompresowana. ;-)

0

Serwery zazwyczaj kompresuja dopiero gdy przegladarka sie zgodzi (headerem). Ja mam tylko maly tips dla bawiacych sie niskopoziomowym http, gdy uzyjesz GET URI #13#10, nikt nikomu nie bedzie wysylal naglowkow.

0

W nagłówku HTTP faktycznie jest "Content-Encoding: gzip", co faktycznie wyjaśnia, czemu są krzaki. Jak zdekompresować tekst spakowany gzipem w delphi?

0

Moze to pomoze:

http://webreference.com/internet/software/servers/http/compression/2.html

"Accept-Encoding: " and a comma-separated list of encoding names, including (hopefully) gzip. There are other compressions out there, like "deflate" and "compress." But only gzip is supported by most modern browsers. Some very new browsers even allow the user to configure which HTTP headers to send: Opera 6 allows you to explicitly set the HTTP level, and Mozilla 0.9.9 allows you to set the "Accept-Encoding" string (which may be problematic, as Mozilla doesn't understand each and every fancy encoding scheme).

0

Niestety, link nie działa, ale ja też szukam (żeby sobie nikt nie myślał, że siedzę bezczynnie i czekam na odpowiedzi :)) i już testuję to, co znalazłem, jednak jak ktoś ma coś, co na pewno działa, będę wdzięczny.

Nie mogę wysyłać samego GET, bo muszę wysyłać ciasteczka, a to nagłówków wymaga... a przynajmniej ja nie znam sposobu na obsługę ciastek bez użycia nagłówków HTTP.

Dopisane: Korzystam z zlib, który jest w standartowym wyposażeniu Delphi, ale mam problem miejscem, w którym się zaczyna zakodowana strona i z miejscem, w którym się kończy... chyba przez to ciągle wyskakują błędy.

0

A nie możesz po prostu zrezyygnować z tej kompresji? :)

0 użytkowników online, w tym zalogowanych: 0, gości: 0