2016-02-28 68 views
0

我想解析不同站点上的XML文档。如果我手动下载它作为一个XML文档,一切正常,但是如果我想直接从URL获取数据file_get_contents无法打开流到ASP.NET页面

$xml = file_get_contents ("http://www.blueshop.pl/sklepy.aspx"); 

我得到一个错误

警告:的file_get_contents(http://www.blueshop.pl/sklepy.aspx) : 无法打开流:HTTP请求失败!

这里有什么问题?我明白这个ASPX页面?来自外部网站的其他XML文档可以毫无问题地被读取。

+0

欢迎计算器!是否可以使用这里描述的答案来解决您的问题? http://stackoverflow.com/questions/697472/why-file-get-contents-returns-failed-to-open-stream-http-request-failed – Arend

+0

在浏览器中打开URL并检查它是否加载,什么是其内容。它需要大量的时间来回答,也许你应该通过一个[流上下文](http://php.net/manual/en/ref.stream.php)作为['file_get_contents()']的第三个参数( http://php.net/manual/en/function.file-get-contents.php)配置更大的超时。 – axiac

+0

我试图使用卷曲(更新的问题)。有eshop产品〜9MB文件。在浏览器加载没有问题,只是很长一段时间 – user3514052

回答

0

解决的问题,卷曲

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.blueshop.pl/sklepy.aspx"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$file = curl_exec($ch); 
curl_close($ch); 


$xml = simplexml_load_string($file); 
foreach ($xml->PRODUCT as $child) 
{ 
     echo $child->NAME."<br/>"; 

}