最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php curl访问调用https时报错解决办法
时间:2022-06-24 16:43:33 编辑:袖梨 来源:一聚教程网
PHP 调用CURL提示错误:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed。这个是因为证书过期导致的。
SSL-ERROR
需要到 http://curl.haxx.se/ca/cacert.pem 下载信任证书。下载后,使其生效有两种方法:
第一种方法:修改 php.ini,找到 [curl]节点,如果没有,可以在php.ini底部添加。
[curl]
;修改为 http://curl.haxx.se/ca/cacert.pem 保存的路径
curl.cainfo="d:/php/cacert.pem"
第二种方法:保存到 程序所在目录,在调用curl的时候,增加一句:
#cacert.pem 到 http://curl.haxx.se/ca/cacert.pem 下载
curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
?>
可以使用下面代码,自动识别https或http
function curlPost($url, $data, $timeout = 30)
{
$ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE;
$ch = curl_init();
$opt = array(
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_POSTFIELDS => (array)$data,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => $timeout,
);
if ($ssl)
{
$opt[CURLOPT_SSL_VERIFYHOST] = 1;
$opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
}
curl_setopt_array($ch, $opt);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$data = curlPost('https://www.111com.net', array('p'=>'hello'));
echo ($data);
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20