2017-03-20 60 views
0

我想從這個URL解析XML文件
http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220
裁判數字每天到期,所以你可以看到你看着它的時候幾乎沒有任何內容。但是,這是與問題尿失禁。
我試圖用
使用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網址我在網上找到的動作完成得很好:

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

爲什麼我得到連接的time out?
鏈接的提供者說這是一個簡單的任務。如果我從我的服務器上的本地文件上的url下載xml源,我可以毫無問題地獲取它。所以必須有一些遠程請求。

不用說,我是一個PHP新手......特別是在服務器請求。
謝謝!

編輯
我自己也嘗試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

嗨,我得到連接超時錯誤的日子......事實上,你設法運行它只是我的代碼讓我大吃一驚。我正在嘗試從兩個領域。在我的工作和每個人在不同的託管一個人。兩者都是.gr。任何變化,我們正在被阻止或什麼? – thepi

+0

這是非常可能的,因爲代碼對我來說工作正常。我嘗試過幾次,沒有錯誤。 –

+0

顯然,服務中需要的8081端口在我嘗試連接主機的兩臺服務器上都關閉了。 – thepi