Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dekompresja (gzip) strumienia http
pi_r
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 15.06.2005

Ostrzeżenie: (0%)
-----


W skrypcie w pewnym momencie muszę pobrać wiekszą ilość danych z serwera http. Aby usprawnić prace skryptu chcę pobierać z serwera skompresowane dane, wysyłam więc w nagłówku :
Kod
Accept-Encoding: gzip

W odpowiedzi otrzymuje:
Kod
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 25150
Content-Type: text/html


Następnie pobieram podaną ilość danych do stringa.
Problem zaczyna się, gdy chce dekodowac otrzymane dane, nie radzi z tym sobie funkcja gzuncompress() generując nastepujący błąd:
Kod
Warning: gzuncompress(): data error in [...]update.php on line 113


Efektów także nie widać gdy czytam za pomoca gzread() bezpośrednio z gniazda (zamiast kodu html pojawiają się losowe znaki).

Ktoś zna może jakieś inne rozwiazanie? A może ja gdzieś robię błąd? ;-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dopy
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 25.07.2005

Ostrzeżenie: (0%)
-----


Aktualnie pracuje nad rozpracowaniem tego problemu i niestety zastosowalem sie do rad powyzej, ale i tak coś jest nie tak.

Jak tobie następująco:
- pobieram z socketa poprzez fgets (serwer nie ma php5, wiec czym by pobierac w php4?) do zmiennej
- dziele zmienna poprzez explode, odliczam sobie dlugosc naglowkow
- ucinam naglowki ze zmiennej
- przekazuje zmienna do dekompresji

I to co mi zwraca troche mnie zadziwia - nie mam bledu o zlych danych przekazanych do skryptu, nie ma tez innych komunikatow, jedn zwraca mi...
Cytat
XP


W którym momencie popełniem błąd ?
Pozdrawiam.


------------edit:

Cytat
When retrieving mod_gzip'ed content and using gzinflate() to decode the data, be sure to strip the first 10 chars from the retrieved content.

$dec = gzinflate(substr($enc,10));


tak mowi manual, jednak jak ucinam to 10 znakow, to otrzymuje blad o blednych danych...

Ten post edytował dopy 7.07.2006, 10:35:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 06:05