ZodiacXP
Erfahrenes Mitglied
Mit meinem Skript teste ich zur Zeit mehrere Seiten und nun ist etwas komisches erschienen.
Zunächst ein Teil vom Skript (einfache Abfrage einer Ressource):
Ein Auszug aus der Antwort (teilweise durch % "zensiert"):
Hierbei steht nun im Location-Feld genau die Ressource, die abgefragt wurde.
Direkt im RFC 2616 nachgelesen und in "Location" sollte die neue Adresse stehen.
Allerdings schafft ein Browser es die Seite trotzdem anzuzeigen.
Wie soll ich damit umgehen?
Habe ich einen Denkfehler?
Die empfangenen 20 Bytes mittels http_inflate entpackt entsprechen einem leeren String. Keine Fehler von fsockopen in $errstr.
Die URL nenne ich zunächst mal nicht - ein Beitrag vom Schöpfer zur URL wurde heute erst geschlossen und ich denke es ist eh irrelevant.
Zunächst ein Teil vom Skript (einfache Abfrage einer Ressource):
PHP:
$this->url = parse_url($url);
$fp = fsockopen($this->url["host"], 80, $errno, $errstr, 30);
// Send request
fwrite ($fp,
"GET " . $this->url["path"] . " HTTP/1.1\r\n".
"Host: " . $this->url["host"] . "\r\n".
"Accept-Encoding: deflate, gzip, x-gzip, identity\r\n" .
"Connection: Close\r\n\r\n"
);
// fetch incoming data
$result = "";
while (!feof($fp))
{
$result .= fgets($fp);
}
Ein Auszug aus der Antwort (teilweise durch % "zensiert"):
HTTP/1.1 301 Moved Permanently
Location: http://%%%/
Content-Encoding: gzip
Content-Length: 20
Connection: close
Content-Type: text/html; charset=UTF-8
Hierbei steht nun im Location-Feld genau die Ressource, die abgefragt wurde.
Direkt im RFC 2616 nachgelesen und in "Location" sollte die neue Adresse stehen.
Allerdings schafft ein Browser es die Seite trotzdem anzuzeigen.
Wie soll ich damit umgehen?
Habe ich einen Denkfehler?
Die empfangenen 20 Bytes mittels http_inflate entpackt entsprechen einem leeren String. Keine Fehler von fsockopen in $errstr.
Die URL nenne ich zunächst mal nicht - ein Beitrag vom Schöpfer zur URL wurde heute erst geschlossen und ich denke es ist eh irrelevant.