Parsen der HTTP-Header mit PHP-fsockopen?

Ich habe ein Skript eingerichtet, dass aus Gründen der Notwendigkeit bekommt sowohl der HTTP-Antwort-header und dann Inhalt einer GET-Anfrage mit fsock.

function checkUrl($host,$url,$port) {
$fp = fsockopen($host, $port, $errno, $errstr, 10);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET $url HTTP/1.1\r\n";
    $out .= "Host: $host\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        $response = fgets($fp, 1024);
        print(substr($response,9,3));
    }
    fclose($fp);
}
}

Nenne ich es und bekommen alle die richtigen Daten zurück, wenn ich einfach nur echo Sie alle aus. Aber eigentlich brauche ich die Rückkehr aus der Funktion wird der HTTP-STATUS-Code.

also 404 oder 200 oder 301 etc

Aber der obige code gibt den Fehler-code sicher, aber dann mit einer Last von Kauderwelsch am Ende welches ich nicht verstehe, wenn ich nur 3 chars!

z.B.

404, 2BM_n: Encype HThe tp-me=srcsrclanstaPre> lanmg=[0][1][2][3][4][5][6][7][8][9][10[11[12 swt.i> ypeeleamiize#99eco#66ade#33izeine#CCize { #66izeeig tmardespath=th=th=th=th=th=th=spardeolordeignign bocol widwidwid col bler> td Sorabl> e> rdeolordespath=th=th= bo spardeoloe="lanSen>

Das führt mich zu glauben, meine Antwort ist eigentlich viel komplexer als einfach nur ein string, richtig? Etwas besonderes mit der Kopf-oder bin ich Missverständnis, wie fgets funktioniert? Jede Hilfe sehr geschätzt

InformationsquelleAutor Seer | 2012-02-20
Schreibe einen Kommentar