RSS-Feed返回一个空字符串

tec*_*row 5 php rss

我有一个显示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 ';
}
Run Code Online (Sandbox Code Playgroud)

Gor*_*don 4

服务该提要的服务器期望设置用户代理。您显然没有在 php.ini 中设置用户代理,也没有在对 的调用中设置它file_get_contents

您可以通过流上下文设置此特定请求的用户代理:

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

或全局任何 http 调用:

ini_set('user_agent', 'php');
echo file_get_contents($link);
Run Code Online (Sandbox Code Playgroud)

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