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

 这篇文章主要介绍了php使用curl获取https请求的方法,涉及curl针对https请求的操作技巧,非常具有实用价值,需要的朋友可以参考下

 
 

本文实例讲述了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_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 $data 要發送的數據
* @param Array $header 请求时发送的header
* @param int $timeout 超时时间,默认30s
*/
function curl_https($url, $data=array(), $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, http_build_query($data));
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';
$data = array('name'=>'fdipzone');
$header = array();

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

echo $response;
?>

 

希望本文所述对大家的php程序设计有所帮助。

时间: 2024-09-18 03:07:20

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

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_

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

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请求的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打开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:去掉所有状

php利用curl获取远程图片实现方法_javascript技巧

curl要求php环境支持才行,可以运行phpinfo()函数是否支持,一般要将php.ini中;extension=php_curl.dll前的;去掉,重新启动IIS或者APACHE就可以了. 代码如下: /* *@通过curl方式获取指定的图片到本地 *@ 完整的图片地址 *@ 要存储的文件名 */ function getImg($url = "", $filename = "") { //去除URL连接上面可能的引号 //$url = preg_replac