我正在尝试从此网址解析xml文件
http://87.102.127.86:8081/kwiktext/kwiktext.exe?Page=52&compid=33&refnum=ICE2-1713464-220
引用号每天到期,因此您在查看时几乎看不到任何内容。但这与问题有关
我试图用simplexml_load_file()使用
<?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); ?>
未成功返回'连接超时'。 但是,当我尝试使用随机xml网址时,我在网上发现该操作完成得很好:
<?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新手...特别是在服务器请求上。
谢谢!
修改
我也尝试过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');'
编辑2
显然,该服务所需的8081端口在我尝试连接主机的两台服务器上都已关闭。
答案 0 :(得分:0)
这对我来说很好。我复制并粘贴了你的代码并在本地运行它没有任何问题。如果遇到连接超时错误,它似乎是一个临时错误。我注意到的唯一错误是当您打印酒店描述时,属性名称不正确:
echo urldecode($xml->HotelDescription);