我使用这种方法来获取facebook api数据.只是一个搜索查询.但我发现curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);在一段curl时间内(超过10秒)使用会花费更多时间.
还有其他curl方法可以运行得更快吗?
注意:我现在正在localhost中测试
$url = "https://graph.facebook.com/search?access_token=".$token."&q=dallas&type=post&scope=publish_stream,offline_access,user_status,read_stream";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2);
//curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__). '/file.crt'); the way as Lumbendil recommend, download a crt file via firefox. still slowly.
$body= curl_exec($ch);
curl_close ($ch);
Run Code Online (Sandbox Code Playgroud)
PS:我不想使用a SDK,因为我SDK在localhost测试中设置失败了.虽然我已经阅读了很多关于如何在localhost中设置的文章.我已设置http://127.0.0.1/facebook为我的回调网址.但是失败了.所以我仍然想要一个简单的卷曲方式.
谢谢.
您可以使用.crt文件并对其进行验证,而不是忽略SSL验证,如此处所述.
要将所有信息保存在一个位置:在代码中,您应该编写以下内容:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/crt/file.crt');
Run Code Online (Sandbox Code Playgroud)
要获得证书,您应该使用浏览器访问该页面,然后使用"查看证书"您必须将其导出.请记住,您必须将其导出为X.509证书(PEM)才能生效.有关如何导出证书的更详细指南,请访问提供的链接.
| 归档时间: |
|
| 查看次数: |
10645 次 |
| 最近记录: |