我正在开发一个网站,我在其中创建了一个博客,人们可以在该博客上通过他们的 Facebook 发表评论。现在我注意到,每当我创建一个新博客时,评论插件都会显示警告“url 无法访问”。
我已经弄清楚摆脱这个警告的方法是抓取新博客。
如果我在命令行上使用以下查询:
curl -F "id=http://www.maartenvangenechten.be/blog/post/13/" -F "scrape=true" -k https://graph.facebook.com
警告消失了,但从长远来看这不是最好的方法。另外,我放入元标记中的所有数据都被输出,告诉我页面已成功抓取
所以我尝试使用 php/libcurl 来实现:
$params = array(
"id"=>$url,
"scrape"=>"true");
$ch = curl_init("https://graph.facebook.com");
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_SSL_VERIFYHOST=>false,
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_POST=>true,
CURLOPT_POSTFIELDS=>$params
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
现在仅输出:
{"id":"214022612077699","url":"http:\/\/www.maartenvangenechten.be\/blog\/post\/13\/"}
而不是
{"url":"http:\/\/www.maartenvangenechten.be\/","type":"website","title":"Maartens Homepage","image":[{"url":"http:\/\/www.maartenvangenechten.be\/images\/general\/logo_enlighten.gif"}],"description":"Hier kan je alles vinden over mijn huidige projecten. Bekijk ook zeker de blog, waar ik de verschillende uitdagingen die ik tegenkom zal toelichten","site_name":"VangenechtenDESIGNs","admins":[{"id":"591822147","name":"Maarten Van Genechten","url":"http:\/\/www.facebook.com\/exquisitje"}],"updated_time":"2013-02-22T02:27:18+0000","id":"492686967461912","application":{"id":"482576148470885","name":"MVGPortfolio","url":"http:\/\/www.facebook.com\/apps\/application.php?id=482576148470885"}}
如我所料
似乎找不到原因
好的,解决了,在网上搜索了几个小时后......
我在不同的浏览器上尝试了该功能,Opera,Firefox,甚至IE都返回了预期的结果,只有Chrome给出了问题...
清除了缓存、历史记录以及通过 Chrome 存储的所有其他内容,问题就消失了。