我正在尝试从网站上获取RSS提要,但出现错误。
我尝试了simplexml_load_file
:
$website = 'http://veida.is/feed';
$rss = simplexml_load_file($website);
print_r( $rss );
但是我遇到以下错误:
PHP Warning: simplexml_load_file(http://veida.is/feed): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
simplexml_load_file(): I/O warning : failed to load external entity "http://veida.is/feed"
还有file_get_contents
和simplexml_load_string
:
$rss = file_get_contents($website);
$rss = simplexml_load_string($rss);
print_r($rss);
但是我得到了
PHP Warning: file_get_contents(http://veida.is/feed): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
使用CURL
:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $website);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch,CURLOPT_TIMEOUT,30); // TIME OUT is 5 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
print_r($response);
curl_close($ch);
但是我没有任何结果,var_dump($response);
返回bool(false)
。
它工作正常,并且如果您尝试也可以,但是过一会儿也会发生同样的事情。
他们使用DDos
之类的服务来阻止攻击,但是当我使用时,我只是获得了提要,并且提到了他们的网站。
那么如何使它重新工作?