1

我正在尝试从 PHP 中提取 Facebook 粉丝页面的 RSS 2.0 提要。

当我从浏览器访问提要时,没有问题。但是,当我尝试在 PHP 中提取和使用时,Facebook 返回代码以重定向到“升级您的浏览器”通知。当我尝试使用 W3C RSS 验证器验证提要时,也会发生同样的情况。

因此,Facebook 必须有一些逻辑来分析用户代理并提供提要或“您必须更新”页面。

问题是:如何从 PHP 中访问该 RSS 提要?

使用 SimpleXML 或 DOMdocument 时可以直接伪造用户代理标头吗?我知道有一个选项可以使用 CURL 提取提要(可以轻松设置标题),但我不想这样做。

欢迎任何想法!

4

1 回答 1

1

好吧,对于那些可能也好奇的人来说,这ini_set()似乎是一种解决方案。

<?php

ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0');

$url = 'https://www.facebook.com/feeds/page.php?format=rss20&id={your-page-id}';
$xml = simplexml_load_file( $url );
foreach($xml->channel->item as $status){
    // Do something for each News Feed update
}

虽然,当 Zuckberberg 想要更新用户代理需求时,谁知道这是否会验证。

于 2012-10-15T19:33:40.057 回答