ZodiacXP
Erfahrenes Mitglied
Edit: Erledigt. ('Transfer-Encoding: chunked' war im Weg).
Ich schon wieder.
Es wird eine Seite per fsockopen ausgelesen:
Wenn diese Seite komprimiert gesandt wurde:
Das klappt bei einigen Seiten (Beispiel: chip.de) aber bei manchen auch nicht (Beispiel: tutorials.de). Es erscheint der Fehler:
Schneidet man eine gewisse Anzahl an Zeichen von vorn ab geht die Fehlermeldung weg, aber es wurde falsch entpackt.
Wie dekomprimiert man Seiten die man auf diese Art geholt hat?
EDIT: Hat sich erledigt. Die Seite hat "Transfer-Encoding: chunked". Heute is nich mein Tag.
Behoben mit: http_chunked_decode()
Ich schon wieder.
Es wird eine Seite per fsockopen ausgelesen:
PHP:
$fp = fsockopen($host, 80);
fwrite ($fp,
"GET / HTTP/1.1\r\n".
"Host: " . $host . "\r\n".
"Accept-Encoding: deflate, gzip, x-gzip, identity\r\n" .
"Connection: Close\r\n\r\n"
);
do {
$line = fgets($this->fp, 128);
$head .= $line;
} while ($line != "\r\n");
while (!feof($this->fp))
{
$content .= fgets($this->fp, 128);
}
Wenn diese Seite komprimiert gesandt wurde:
PHP:
$content = http_inflate($content);
Das klappt bei einigen Seiten (Beispiel: chip.de) aber bei manchen auch nicht (Beispiel: tutorials.de). Es erscheint der Fehler:
[...]Could not inflate data: data error[...]
Schneidet man eine gewisse Anzahl an Zeichen von vorn ab geht die Fehlermeldung weg, aber es wurde falsch entpackt.
Wie dekomprimiert man Seiten die man auf diese Art geholt hat?
EDIT: Hat sich erledigt. Die Seite hat "Transfer-Encoding: chunked". Heute is nich mein Tag.
Behoben mit: http_chunked_decode()
Zuletzt bearbeitet: