简单的html dom不适用于表[类]

时间:2016-02-28 16:18:34

标签: php html dom include

我想使用网站的内容并将其包含在我的"Simple Html DOM"中,不幸的是,通常适用于其他网站的代码在这种特定情况下失败:

<?php

// Note you must download the php files from the link above 
// and link to them on this line below. 
include_once('simple_html_dom.php');


$html = file_get_html('http://www.comelmar.it/index.aspx?idmnu=23&midx=3&mbidx=2&idmnub=8&Lang=EN');
$elem = $html->find('table[class=Descrizione]', 0);
echo $elem;

?> 
  

警告:   的file_get_contents(http://www.comelmar.it/index.aspx?idmnu=23&midx=3&mbidx=2&idmnub=8&Lang=EN)   [function.file-get-contents]:无法打开流:HTTP请求   失败! HTTP / 1.1 500内部服务器错误   public_html / elin-custom-code / simple_html_dom.php on   第75行

     

致命错误:在非对象中调用成员函数find()   第9行的public_html / elin-custom-code / sklad-1.php

1 个答案:

答案 0 :(得分:2)

作为参考链接: -

file_get_contents - failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

大多数托管服务现在阻止furl_open参数,该参数允许您使用file_get_contents()从外部网址加载数据。

您可以使用CURLPHP客户端库,例如Guzzle

要确保我只是使用CURL在以下代码的帮助下检查确切的问题: -

<?php
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'http://www.comelmar.it/index.aspx?idmnu=23&midx=3&mbidx=2&idmnub=8&Lang=EN');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);
echo "<pre/>";print_r($query);
?>

输出: - http://prntscr.com/a91nl5

因此,出于安全原因,似乎在该网站上阻止了这些方法调用(CURLfile_get_contents)。

您也可以尝试这个链接答案,可能会得到一些有用的输出: -

PHP file_get_contents() returns "failed to open stream: HTTP request failed!"

祝你好运。