file_get_contents() не удалось открыть поток:
Я пытаюсь использовать file_get_contents()
чтобы получить канал Twitter, однако я получаю следующее предупреждение:
failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
Мой код:
$feed = 'http://twitter.com/statuses/user_timeline.rss?screen_name=google&count=6';
$tweets = file_get_contents($feed);
Я использую Google только для тестирования. allow_url_fopen
включен в моем php.ini
файл.
Есть идеи, что может быть не так?
2 ответа
Решение
Вам следует использовать расширение PHP cURL, если оно доступно, так как оно во много раз быстрее, мощнее и проще в отладке. Вот пример, который делает то же самое, что вы пытались:
function curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$feed = 'http://twitter.com/statuses/user_timeline.rss?screen_name=google&count=6';
$tweets = curl($feed);
Скорее всего, на вашем сервере включена mod_security. Добавьте следующие строки в ваш.htaccess после любых существующих правил, а затем попытайтесь увидеть, что проблема все еще существует после этого добавления.
<IfModule mod_security.c>
SecFilterScanPost
</IfModule>