php – RSS-Feed返回一个空字符串

我有一个显示RSS Feeds Items的新闻门户.大约读取了50个来源,效果非常好.

只有一个源我总是得到一个空字符串. W3C的RSS验证器可以读取RSS源.甚至我的维也纳计划也收到数据

我能做什么?

这是我的简单代码:

$link = 'http://blog.bosch-si.com/feed/';

$response = file_get_contents($link);

if($response !== false) {
    var_dump($response);
} else {
    echo 'Error ';
}

解决方法:

服务该订阅源的服务器需要设置用户代理.你显然没有User Agent set in your php.ini,也没有在调用file_get_contents时设置它.

您可以通过stream context为此特定请求设置用户代理:

echo file_get_contents(
    'http://blog.bosch-si.com/feed/',
    FALSE,
    stream_context_create(
        array(
            'http' => array(
                'user_agent' => 'php'            
            )
        )
    )
);

或全局任何http调用:

ini_set('user_agent', 'php');
echo file_get_contents($link);

两者都会给你想要的结果.

上一篇:JAVA中XML文件的生成与导出(DOM4j)


下一篇:ubuntu16.04开机自启动ssh自动连接screen