2017-03-20 18 views
0

を解析しようタイムアウトになった私は、あなたがそれに見る時間によってはほとんどないコンテンツを見ることができるので、参照番号は、毎日満了し、このURLから
http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220
をxmlファイルを解析しようとしています。しかし、これは問題で尿素化されています。
私は
simplexml_load_file()接続には、リモートXML

<?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); ?> 

を使用して)(simplexml_load_fileでそれを解析しようとしています失敗し、それは「接続がタイムアウト」を返します。 しかし、私は、私はネット上で見つけたランダムXMLのURLと同じことをしようとすると、動作がうまく完了:

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

は、なぜ私は接続タイムアウトを取得していますか?
リンクのプロバイダは、それは簡単な作業だと言った。私のサーバー上のローカルファイル上のurlからxmlソースをダウンロードしても、問題なくフェッチできます。したがって、リモートリクエストで何かが存在する必要があります。

言うまでもなく、私はPHP初心者です...特にサーバーリクエストでは。
ありがとうございます!

EDIT
私ものfile_get_contentsを試してみました()、それは私のために動作しませんでした。また、私は成功しません再び試みた最後のものは、この

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

はどうやらサービスから要求された8081ポートは、私がして接続を試みていたサーバーの両方に閉鎖されましたホスト。

+0

'のfile_get_contents()を使用してみてください;'ファイルを取得します。次に、 'simplexml_load_string();'を使ってコンテンツを読み込みます。 – Ibu

+0

私はこれを成功させようとしました。 – thepi

答えて

0

これは私にとってうまくいきます。コードをコピーして貼り付け、問題なくローカルに実行しました。接続タイムアウトエラーが発生した場合は、一時的なエラーのようです。あなたは、プロパティ名が間違っていたホテルの記述を印刷しているときに私は気づいただけでエラー:

echo urldecode($xml->HotelDescription);

+0

こんにちは、私は日の接続タイムアウトエラーが発生している...あなたは私のコードsuprisesでそれを実行することができた事実。私は2つのドメインからこれを試しています。 1つは私の仕事で、もう1人は異なるホスティングで働いています。どちらも.grです。私たちはブロックされているか、何か変化していますか? – thepi

+0

コードは私のためにうまく働いているので、これは非常に可能です。私は何度も何のエラーもなく試してみました。 –

+0

明らかに、サービスから必要とされた8081ポートは、私がホストによる接続を試みていた両方のサーバで閉じられていました。 – thepi