fsockopen Problem vom Localhost

GarGod

Erfahrenes Mitglied
Nabend meine Lieben,

habe gerade irgendwie ein komisches Problem..
Ich bin gerade dabei einen XML (rss) Reader zu basteln, bin auch sehr zufrieden mit meinem Ergebnis, solange ich lokale xml Dateien öffne, sobald ich allerdings eine Datei aussem Netz damit parsen lassen möchte, gibt er mir folgenden Fehler aus:

Code:
Warning: fsockopen() [function.fsockopen]: unable to connect to http://www.tutorials.de/forum/external.php?type=RSS2:80 (Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?) in D:\Programme\xampp\xampp\htdocs\startpage\inc\xml_rss.parser.php on line 18

Der entsprechende Code:
PHP:
<?php
   function readXML($xmlFile)
   {

      $xmlParser = xml_parser_create();

      xml_parser_set_option($xmlParser, XML_OPTION_CASE_FOLDING, false);
      xml_set_element_handler($xmlParser, startElement, endElement);
      xml_set_character_data_handler($xmlParser, characterData);

      //$fp = fopen($xmlFile, "r");
	  $fp = fsockopen ($xmlFile, 80, $errno, $errstr); // Wer hätte es gedacht (line 18)

      while($data = fread($fp, filesize($xmlFile))){
         xml_parse($xmlParser, $data, feof($fp));}

      xml_parser_free($xmlParser);

   }
?>

Wir ihr sehen könnt habe ich es auch schon mit fopen probiert, aber damit gehts auch nicht, in meiner php.ini habe ich allow_url_fopen auf 1 (true) stehen.

Benutzen tu ich das letzte XAMPP.

Wenn jemand Rat weiß, wäre ich ihm sehr dankbar

Viele liebe Grüße aus Mönchengladbach

Garlof
 
Hey Gumbo,
dachte mir schon, dass du mir antworten würdest, als ich die onlie gesehen habe...

bekomme jetzt aber immer noch einen Fehler:
Code:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in D:\Programme\xampp\xampp\htdocs\startpage\inc\xml_rss.parser.php on line 18

Warning: fsockopen() [function.fsockopen]: unable to connect to www.tutorials.de/forum/external.php?type=RSS2:80 (Unknown error) in D:\Programme\xampp\xampp\htdocs\startpage\inc\xml_rss.parser.php on line 18

lg.
Garlof
 
Hast du denn überhaupt etwas geändert? Du bekommst ja wieder dieselbe Fehlermeldung, die darauf schließt, dass du nicht nur den Host-Namen als Ziel angegeben hast.
 
Hey,
sorry hatte das hier überlesen:
GET /forum/external.php?type=RSS2 HTTP/1.1

Bekomme jetzt keine fehlermeldung mehr, nur einen Timeout =)

Habe das ganz jetzt mal so abgeändert:
PHP:
<?php
   function readXML($xmlFile)
   {

      $xmlParser = xml_parser_create();

      xml_parser_set_option($xmlParser, XML_OPTION_CASE_FOLDING, false);
      xml_set_element_handler($xmlParser, startElement, endElement);
      xml_set_character_data_handler($xmlParser, characterData);

	  $fp = fsockopen ($xmlFile, 80, $errno, $errstr);
            fputs ($fp, "GET /forum/external.php?type=RSS2 HTTP/1.1");
      while(!feof($fp)){  // ich denke daher kommt der Time out 
         xml_parse($xmlParser, fgets($fp,128));
      } 

      xml_parser_free($xmlParser);

   }
?>
 
Hat denn niemand eine Idee?
Ich bin so langsam am verzweifeln...
Ich verstehe nicht warum aus der while-schleife eine Endlosschleife wird!!


L.g

Garlof
 
Zurück