我正在建立一个网站,从几个facebook页面加载点赞数量(数百)。为此,我使用json查询。除了一页外,一切都很顺利。本页。为什么?
在这里的代码中:A工作,B不
<?php
$fblikeA = json_decode(file_get_contents('http://graph.facebook.com/270129920400'))->{'likes'};
$fblikeB = json_decode(file_get_contents('https://graph.facebook.com/303612927736'))->{'likes'};
echo '"None of the Above" likes = '.$fblikeA.'<br>';
echo '"Viva Voce" likes = '.$fblikeB.'<br>';
?>
我在一个外部php编译器上尝试过,它在那里工作得很好,所以这可能是我的服务器的问题。
你会怎么说?
在php.ini中,如果不存在,可以添加以下行:
extension=php_openssl.dll
allow_url_fopen = On
它对我有用。
问题是不建议使用file_get_contents
,因为它在请求太多东西时可能会失败好几次。
所以,你应该使用卷曲。您可以直接使用以下功能:
function GetJSONFromCurl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$JSON = curl_exec($ch);
return $JSON;
}
并像这样使用它:
$fblikeA = json_decode(GetJSONFromCurl('http://graph.facebook.com/270129920400'))->{'likes'};
就是这样!