curl 获取 https 请求方法

今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的。

之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败。

SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

解决方法,在curl请求时,加入

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在

curl https请求代码

<?php
/** curl 获取 https 请求
* @param String $url        请求的url
* @param Array  $header     请求时发送的header
* @param int    $timeout    超时时间,默认30s
*/
function curl_https($url, $header=array(), $timeout=30){  

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, '');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);  

    $response = curl_exec($ch);  

    if($error=curl_error($ch)){
        die($error);
    }  

    curl_close($ch);  

    return $response;  

}  

// 调用
$url = 'https://www.example.com/api/message.php';
$header = array('content-type:application/json');  

$response = curl_https($url, $header, 5);  

echo $response;
?>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索curl
, ssl
, https
, 证书
, certificate
, 含参https请求
, 获取https内容
, curl_setopt
获取https
curl https请求、php curl 请求https、linux curl 请求https、curl发送https请求、curl https get请求,以便于您获取更多的相关知识。

时间: 2024-09-14 10:40:45

curl 获取 https 请求方法的相关文章

php curl 获取https请求的2种方法

  php curl 获取https请求的2种方法         这篇文章主要介绍了php curl 获取https请求的2种方法,本文给出设定为不验证证书和host.设定一个正确的证书二种常用做法的代码实例,需要的朋友可以参考下 今天一个同事反映,使用curl发起https请求的时候报错:"SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_

php使用curl获取https请求的方法

 这篇文章主要介绍了php使用curl获取https请求的方法,涉及curl针对https请求的操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php使用curl获取https请求的方法.分享给大家供大家参考.具体分析如下: 今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的. 之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败. SSL certificate problem, verify

php使用curl获取https请求的方法_php技巧

本文实例讲述了php使用curl获取https请求的方法.分享给大家供大家参考.具体分析如下: 今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的. 之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败. SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_

php curl 获取https请求的2种方法_php技巧

今天一个同事反映,使用curl发起https请求的时候报错:"SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" 很明显,验证证书的时候出现了问题. 使用curl如果想发起的https请求正常的话有2种做法: 方法一.设定为不验证证书和host.

php之curl实现http与https请求的方法_php技巧

本文实例讲述了php之curl实现http与https请求的方法,分享给大家供大家参考.具体如下: 通常来说,php的curl函数组可以帮助我们把机器伪装成人的行为来抓取网站,下面来分享两个例子,一个是访问http网页,一个访问https网页,一起来看一下. 每次要使用curl的时候,总要查一堆资料. 现在将常用的几句保存下来,省的每次都去谷歌. 常规curl请求: 复制代码 代码如下: $url = 'http://www.jb51.net'; $curl = curl_init(); cur

php使用curl打开https网站的方法

  这篇文章主要介绍了php使用curl打开https网站的方法,涉及php使用curl连接网站及获取信息的相关技巧,需要的朋友可以参考下 本文实例讲述了php使用curl打开https网站的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11$url = 'https://www.google.com.hk'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($

php使用CURL模拟GET与POST向微信接口提交及获取数据的方法_php实例

本文实例讲述了php使用CURL模拟GET与POST向微信接口提交及获取数据的方法.分享给大家供大家参考,具体如下: php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个: Get提交获取数据 /** * @desc 获取access_token * @return String access_token */ function getAccessToken()

php使用curl打开https网站的方法_php技巧

本文实例讲述了php使用curl打开https网站的方法.分享给大家供大家参考.具体实现方法如下: $url = 'https://www.google.com.hk'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CU

使用Curl命令查看请求响应时间方法_javascript技巧

curl命令查看请求响应时间 # curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" http://www.36nu.com 0.014::0.015::0.018::0.019::1516256.00 -o:把curl 返回的html.js 写到垃圾回收站[ /dev/null] -s:去掉所有状