2017-03-20 33 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