Mailinglisten-Archive |
Guten Morgen! :-)
Ich habe mich Sonntag einige Stunden mit einem merkwürdigen
Phänomen herumgeschlagen. Jetzt weiß ich, wie ich es beseitigen kann,
aber ich würde gerne wissen, was der eigentliche Grund ist...
Es geht um folgendes Beispiel aus dem Handbuch:
<?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
while (!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>
Ich habe damit eine dynamische Seite geholt. Wenn ich HTTP/1.0 angeben,
ist alles in Ordnung, gebe ich HTTP/1.1 an, dann erscheinen in gewissen
Abständen 4-stellige Zeichen wie 1f69 und 1f4b. Irgendwie sieht es nach
einem Kodierungsproblem aus. Sowohl der sendende als auch der
antwortende Server arbeiten aber eigentlich mit HTTP/1.1 und UTF-8.
Jetzt wundere ich mich, wie dieses Problem auftreten kann. Hat jemand
eine Erklärung dafür? Vielleicht gibt es ja eine sauberere, korrektere
Lösung, als HTTP/1.1 durch HTTP/1.0 zu ersetzen. Gibt es irgendwas, was
ich in den Request-Header schreiben könnte, so daß es auch mit HTTP/1.1
funktioniert?
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive