Не удается загрузить RSS-канал с веб-сайта - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь получить 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, но по мере использования я просто получаю фид и упоминаю их веб-сайт.

Итак, как заставить это работать снова?

...