PHP里curl对https的证书配置默认是服务器端要求验证的,如果服务器端没有配置证书验证,则无法请求https路径。如果为了简便使用不需要配置https证书的话,配置curl时将以下两项设置为false即可
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
附上完整的函数:
private function httpGet($url) {
?$ch = curl_init();
?//设置选项,包括URL
?curl_setopt($ch, CURLOPT_URL, $url);
?curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
?curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
?curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
?curl_setopt($ch, CURLOPT_HEADER, 0);
?//执行并获取HTML文档内容
?$output = curl_exec($ch);
?//释放curl句柄
?curl_close($ch);
?//打印获得的数据
?return $output;
}
PHP curl请求https遇到的坑
原文地址:http://www.cnblogs.com/bwkj/p/7941254.html