file_get_contents()无法打开流:

时间:2010-08-21 00:56:36

标签: php

我正在尝试使用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

知道可能出现什么问题吗?

2 个答案:

答案 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>