phpbar.de logo

Mailinglisten-Archive

[php] fsockopen() - verwirrspiel

[php] fsockopen() - verwirrspiel

Tobias Ratschiller tobias_(at)_dnet.it
Fri, 26 Nov 1999 08:47:04 +0100


> obiger code schmeißt mir die seite von php.net raus. ok.
> setze ich als host www.php-center.de ein, dann ist ende.
> Virtual hosts scheint das nicht zu unterstützen.

Das war ein HTTP/1.0-Request. Name-based Virtual Hosts kamen mit HTTP/1.1.
HTTP/1.1 erfordert deswegen zwingend die angabe des "Host"-Headers. Dein
Beispiel wird so geschrieben:

$host = "www.php-center.de; // Ohne http://, falls Outlook Express das
reinmacht
$fp = fsockopen($host, 80, &$errno, &$errstr, 30);
if(!$fp)
{
    echo "$errstr ($errno)<br>\n";
}
else
{
    fputs($fp, "GET / HTTP/1.1\n");
    fputs($fp, "Host: $host\n\n");
    while(!feof($fp))
    {
        echo fgets($fp,128);
    }
    fclose($fp);
}

Amazon macht eine Umleitung:
Location: http://www.amazon.de/exec/obidos/subst/home/home.html

Du musst also diese Datei parsen.

Nützlich für sowas ist http://phpwizard.net/header/.

Mit freundlichen Grüßen,
  Tobias Ratschiller



php::bar PHP Wiki   -   Listenarchive