268香港空间

当前位置:首页 » 网络教程 » 正文

资源分享网
资源分享网

php使用curl访问https示例

217人参与 来自于 : 资源分享网    2019年04月16日   分类 : 网络教程  点这评论

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

之前使用curl能获取http请求,但今天获取https请求时,返回的内容总是为空,查阅资料后发现用curl访问https需要添加以下两行代码:

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

封装成一个函数如下:

/** 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, 2); // 从证书中检查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;

268资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨,转载请保留出处和链接!

本文链接:php使用curl访问https示例来自http://www.268zy.com/pot/404.html

资源分享网
资源分享网

本文标签:https  PHP  代码段  函数  

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

相关文章

最新文章

网站分类

热门标签

支付宝扫码领红包

网站源码 | 营销软件 | 最新电影 | 资料文档 | 网站地图

Copyright 268资源分享网

  • 陕ICP备17018001号