2017-03-20 3 views
0

Ich versuche, eine XML-Datei von dieser URL zu analysieren
http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220
Die ref Zahl endet täglich, so dass Sie fast keinen Inhalt durch die Zeit, sehen können Sie es sehen in . Aber das ist mit dem Problem verbunden.
Ich versuche es mit simplexml_load_file zu analysieren() ‚Zeitüberschreitung Verbindung‘
simplexml_load_file() Connection timed out versuchen, eine remote XML zu analysieren

<?php 
    $xml = 'http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220'; 
    $xml= simplexml_load_file($xml) or die("Error: Cannot create object"); 

    echo urldecode($xml->hoteldescription); ?> 

Erfolglos kehrt mit. Aber wenn ich versuche, das gleiche mit einer zufälligen xml URL zu tun ich im Netz vervollständigt die Aktion gefunden gerade fein:

<?php $xml=simplexml_load_file('http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V') or die("Error: Cannot create object"); 
echo $xml->Time['TimeStamp']?> 

Warum ich die Verbindung Time Out bin immer?
Die Anbieter der Verbindung sagten, dass es eine einfache Aufgabe ist. Wenn ich die XML-Quelle von der URL in einer lokalen Datei auf meinem Server herunterlade, kann ich sie ohne Probleme abrufen. Es muss also etwas mit der Remote-Anfrage sein.

Unnötig zu sagen, dass ich ein PHP-Neuling bin ... vor allem auf Serveranforderungen.
Danke!

EDIT
Ich habe auch versucht, file_get_contents() und es für mich nicht funktioniert hat.
auch das letzte, was ich ohne Erfolg wieder versucht, war dies

function load_file_from_url($url) { 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_REFERER, 'mydomain'); 
    $str = curl_exec($curl); 
    curl_close($curl); 
    return $str; 
    } 
    function load_xml_from_url($url) { 
    return simplexml_load_string(load_file_from_url($url)); 
    } 
    $xml = load_xml_from_url('http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220');' 


EDIT 2
Anscheinend ist der 8081-Port, der aus dem Dienst geschlossen wurde auf beiden Servern erforderlich war ich Verbindung mit der versucht wurde Gastgeber.

+0

versuchen 'file_get_contents() verwenden,' die Datei zu erhalten. Verwenden Sie dann 'simplexml_load_string();', um den Inhalt zu laden. – Ibu

+0

Ich habe das mit keinem Erfolg versucht. – thepi

Antwort

0

Das funktioniert gut für mich. Ich habe Ihren Code kopiert und eingefügt und ihn ohne Probleme lokal ausgeführt. Wenn Sie einen Verbindungs-Timeout-Fehler festgestellt haben, scheint dies ein temporärer Fehler zu sein. Der einzige Fehler, den ich bemerkte, war, wenn Sie die Beschreibung des Hotels drucken Eigenschaftsname falsch war:

echo urldecode($xml->HotelDescription);

+0

Hallo, ich bekomme seit Tagen Verbindung Timeout-Fehler ... Die Tatsache, dass Sie es mit nur meinem Code ausgeführt haben, überrascht mich. Ich versuche das aus zwei Bereichen. Der eine bei meiner Arbeit und der andere jeweils auf einem anderen Hosting. Beide sind .gr. Jede Änderung, die wir blockieren, oder etwas? – thepi

+0

Das ist sehr möglich, weil der Code für mich gut funktioniert. Ich habe es mehrmals ohne Fehler ausprobiert. –

+0

Anscheinend wurde der 8081-Port, der vom Dienst benötigt wurde, auf beiden Servern geschlossen, die ich durch die Hosts zu verbinden versuchte. – thepi

Verwandte Themen