fgets liefert nur header nicht mehr / Mozilla zeigt Seite

C3000

Mitglied
Guten Morgen Community

Ich möchte auf meiner Seite RSS-Feeds darstellen. Via AJAX schicke ich eine url an ein php -script das mir die komplette Seite auslesen und per Respons zurückgeben soll. Das Problem liegt darin, das sie mir nur die Header Infos gibt und sonst nichts, bzw er findet nichts.

Hier das PHP-Script:
Code:
<?php
    $url = $_GET['url'];
    $proxy = "proxy.xxx.com";
    $port = 80;
    $fp = fsockopen($proxy, $port);
    fputs($fp, "GET $url/ HTTP/1.0\n\n");
    $i = 0;
    while(!feof($fp)){
        $line = fgets($fp,4000);
		if($i > 0)echo($line);
		$i++;
	}
    fclose($fp);
?>

Ein Beispielresponse:
Code:
Date: Tue, 17 Apr 2007 09:23:39 GMT
Server: Apache
Location: http://mediadb1.kicker.de/library/rss091/kicker.xml/
Content-Length: 0
Content-Type: text/plain; charset=ISO-8859-1
Content-Language: de
X-Cache: MISS from gg-2-xx.xxx.com
Via: 1.0 gg-2-xx.xxx.com
X-Cache: MISS from www-1-xx.xxx.com
Proxy-Connection: close

Im Mozilla wird mir die Seite angezeigt.

Danke schon mal für eure Mühen.

MfG
 
Meine HTTP-Klasse duerfte Dir dabei helfen koennen.
Das Tutorial enthaelt zwar nicht die aktuellste Version, diese kannst Du aber vollkommen schmerzfrei ueber den Link in meiner Signatur bekommen.
 
Ich irritiert der Schrägstrich am Ende des URL-Pfads etwas. Zudem steht auch in der Antwort, dass es keinen Inhalt gibt. Welchen Statuscode bekommst du denn als Antwort?
 
Danke noch mal für die Antworten. Hab es durch das HTTP- Tutorial hinbekommen. Ich denke mal der Server hat mir die Daten nicht geben wollen, weil ich keinen User-Agent hatte. Ansonsten hab ich nicht viel verändert.

Code:
$useragent='PHP/ReptilerHTTPClass';
$uri=$_GET['url'];
$proxy = "proxy.xxx.com";
$port = 80;
$connection=@fsockopen($proxy, $port);
if ($connection==false)
{
	return false;
}
fwrite($connection,'GET '.$uri." HTTP/1.1\r\nHost: ".$proxy."\r\nUser-Agent: ".$useragent."\r\n Connection: close\r\n\r\n");
$reply='';
while (!feof($connection))
{
	$reply.=@fread($connection,8);
}
fclose($connection);

MfG
 

Neue Beiträge

Zurück