curl分别以get,post方式请求https协议接口api

1、curl以GET方式请求https协议接口

//注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单

function curl_get_https($url){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
    $tmpInfo = curl_exec($curl);     //返回api的json对象
    //关闭URL请求
    curl_close($curl);
    return $tmpInfo;    //返回json对象
}

 

2、curl以POST方式请求https协议接口

/* PHP CURL HTTPS POST */
function curl_post_https($url,$data){ // 模拟提交数据函数
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT‘]); // 模拟用户使用的浏览器
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
        echo ‘Errno‘.curl_error($curl);//捕抓异常
    }
    curl_close($curl); // 关闭CURL会话
    return $tmpInfo; // 返回数据,json格式
}

原文地址:https://www.cnblogs.com/anfang/p/9188625.html

时间: 2024-09-30 00:38:07

curl分别以get,post方式请求https协议接口api的相关文章

PHP:CURL分别以GET、POST方式请求HTTPS协议接口api

1.curl以GET方式请求https协议接口 //注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单 function curl_get_https($url){ $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1)

PHP函数CURL分别以GET、POST方式请求HTTPS协议接口api

1.curl以GET方式请求https协议接口 1 function curl_get_https($url){ 2 $curl = curl_init(); // 启动一个CURL会话 3 curl_setopt($curl, CURLOPT_URL, $url); 4 curl_setopt($curl, CURLOPT_HEADER, 0); 5 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 6 curl_setopt($curl, CURL

HttpWebRequest请求Https协议的WebApi

public static class RequestClient { /// <summary> /// 参数列表转为string /// </summary> /// <param name="dic"></param> /// <returns></returns> public static string GetParam(Dictionary<string, string> dic) { St

file_get_contents无法请求https连接的解决方法 php开启curl

file_get_contents无法请求https连接的解决方法 方法1: PHP.ini默认配置下,用file_get_contents读取https的链接,就会如下错误: Warning: fopen() [function.fopen]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? 解决方案有3:1.windows下的PHP,只需要到php.i

curl 请求https内容,返回空

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$api); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//禁止直接显示获取的内容 重要 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书下同 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // $json = curl_exec($ch);

nginx+php下curl请求https报502错

在做公司项目的时候使用了第三方的API接口,且接口采用的是https请求,在本地的wamp集成环境开发测试正常,放到服务器上结果报错 nginx 502 bad gateway.在论坛中爬楼了几天今天终于找到原因,php版本问题: 公司项目线上环境: 服务器安装了wdcp其中nginx是1.4.2版本 php是5.2.17版本 部署项目上去后,怎么运行都报502错,刚开始怀疑是nginx配置问题,百度了许久说请求https需要ssl于是配置了nginx的ssl后问题依旧,无奈只好继续搜索答案.

PHP Curl请求Https接口

在请求http的时候只需要 file_get_contents("http://www.sojson.com/open/api/weather/json.shtml?city=$Position");就可以了,但是发现这个接口现在变成了https协议了还用这种方法就会403首先看看PHP有没有curl扩展,我是7.2 我用的是Laravel社区的封装好的方法 public static function curl($url, $params = false, $ispost = 0,

php使用curl扩展请求HTTPS链接报sslv3 alert 错误

报错信息 使用php的curl请求https链接时报"error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure" 错误 原因分析 使用php的curl扩展时,curl_setop的CURLOPT_SSLVERSION取值为3,对应协议为ssl v3,因为之前的POODLE 病毒爆发,许多网站禁用了sslv3(nginx默认是禁用的,ssl_protocols 默认值为TLSv1 TLSv1.1 T

iOS ASIHTTPRequest用https协议加密请求

iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略验证的话,程序也会报[error-9844]的错误,具体错误如下描述: [Error Domain=ASIHTTPRequestErrorDomain Code=1 "A connection failure occurred" UserInfo=0x6aafa30 {NSUnderlyi