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