PHP curl请求https遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP curl请求https遇到的坑相关的知识,希望对你有一定的参考价值。

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遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

PHP使用curl请求实现post方式上传图片文件功能示例

Nginx+php下curl请求HTTPS报502错误

使用PHP中的curl发送请求

PHP-Curl模拟HTTPS请求

PHP怎样处理HTTPS请求

我在elasticsearch遇到的坑