cURL与https数据传输中证书认证参数设置
作者:元如枫 发布于:2011-12-26 14:34 Monday 分类:学
近日做QQ互联微博发布接口测试,使用QQ互联官方sdk测试,始终返回bool(false),头痛了好久。
最后一一排除诸如:授权问题,token参数问题,域名问题;最后发现官方给的两个函数存在一点小问题。
首先说解决办法:
comm/utils.php文件修改两个函数do_post,get_url_contents
每个函数的curl_exec执行前,增加:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
这个是针对Oauth2.0下https做的改变。
其次说明下相关知识:
cURL与https数据通信需要安全证书验证
CURLOPT_SSL_VERIFYHOST及CURLOPT_SSL_VERIFYHOST设置为false 可以关闭服务方证书的验证
cURL 7.10以上版本上面两个值默认为true,也就是需要验证
如果有备用的证书去验证,则可以指定CURLOPT_CAINFO及CURLOPT_CAPATH选项,来通过验证
如果未设置以上选项,则通常在执行curl_exec函数时返回bool(false)错误。

