我正在尝试使用file_get_contents()
来获取Twitter Feed,但是我收到了以下警告:
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);
我只是为了测试而使用谷歌。我的allow_url_fopen
文件中已启用php.ini
。
知道可能出现什么问题吗?
答案 0 :(得分:33)
如果它可用,您应该使用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);
答案 1 :(得分:0)
最有可能的是,您的服务器已启用mod_security。在任何现有规则之后在.htaccess中添加以下行,然后在添加之后尝试查看问题仍然存在。
<IfModule mod_security.c>
SecFilterScanPost
</IfModule>