重新定义"喂"Facebook的方法.尝试一下,看看下载的页面
echo file_get_contents('http://www.facebook.com/feeds/share_posts.php?id=207302593&viewer=207302593&key=d95b2de790&format=rss20');
看起来Facebook正在进行用户代理嗅探,拒绝任何"浏览器"(在这种情况下,PHP是浏览器)它认为不能处理其页面.他们在饲料上这样做有点奇怪,但扎克伯格以神秘的方式工作.(这样做是为了防止屏幕抓取是一回事,但是隐含地意味着提要由机器读取)
您需要将用户代理字符串设置为与Facebook支持的浏览器匹配.当我需要这样做时,我用户curl下载文件(curl有很多选项来设置http标头).
如果curl不是你的东西,你可以使用ini设置覆盖PHP的默认用户代理
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');