PHP curl常见CURLESSLCACERT (60)错误及get,post实例

常见的 CURLE_SSL_CACERT (60) 错误, 解决办法:

https://curl.haxx.se/ca/cacert.pem (opens new window)下载最新的

可直接下载2022 年 3 月 22 日

配置 php.ini 文件,搜索 [curl] ,在下方添加

bash 复制代码
curl.cainfo = "D:\phpStudy\php\php-7.0.12-nts\ext\cacert.pem"

curl post请求

php 复制代码
/**curl中的post请求
  * @param $url  请求地址
  * @param $post 请求参数
  */
function curl_post($url,$post){
      $curl = curl_init();//初始化
      // 设置抓取的url
      curl_setopt($curl, CURLOPT_URL, $url);
      // 设置头文件的信息作为数据流输出
      curl_setopt($curl, CURLOPT_HEADER, false);
      // 设置获取的信息以文件流的形式返回,而不是直接输出。
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
      // 设置post方式提交
      curl_setopt($curl, CURLOPT_POST, true);
      // POST请求参数
      curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
      // https请求 不验证证书和hosts
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
      // 添加头部信息
      curl_setopt($curl, CURLOPT_HTTPHEADER, [
        "Content-Type: application/json",
        "Accept: application/json",
       ]);
      // 执行命令
      $data = curl_exec($curl);
      if (curl_errno($curl)) {
          return curl_error($curl);
      }
      curl_close($curl); //关闭URL请求
      return $data;
}

curl get请求

php 复制代码
/**
  * @param $url  请求地址
  * @return mixed|string
  */
function curl_get($url)
{
    // 初始化
    $curl = curl_init();
    // 设置请求的url
    curl_setopt($curl, CURLOPT_URL, $url);
    // 设置头文件的信息作为数据流输出
    curl_setopt($curl, CURLOPT_HEADER, false);
    // 设置获取的信息以文件流的形式返回,而不是直接输出。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    // 执行命令
    $data = curl_exec($curl);
    if (curl_errno($curl)) {
        return curl_error($curl);
    }
    curl_close($curl); //关闭URL请求
    return $data;
}

有时候使用json_encode传递json数据,参数内容中包含中文,返回值不对的情况传递第二个参数

php 复制代码
json_encode($post, JSON_UNESCAPED_UNICODE);  // 中文不转为unicode ,对应的数字 256

json_encode 另一个常用参数

php 复制代码
json_encode($post, JSON_UNESCAPED_SLASHES);  // 不转义反斜杠,对应的数字 64

json_encode只能传递一个常量,如果同时使用两个则: 256 + 64 = 320

php 复制代码
json_encode($post, 320);  // 中文不转为unicode,不转义反斜杠
相关推荐
老虎062735 分钟前
JavaWeb前端02(JavaScript)
开发语言·前端·javascript
Python私教1 小时前
YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1
开发语言·javascript·ecmascript
carver w1 小时前
MFC,C++,海康SDK,回调,轮询
开发语言·c++·mfc
王廷胡_白嫖帝2 小时前
Qt猜数字游戏项目开发教程 - 从零开始构建趣味小游戏
开发语言·qt·游戏
XH华2 小时前
C语言第九章字符函数和字符串函数
c语言·开发语言
一个会的不多的人2 小时前
C# NX二次开发:操作按钮控件Button和标签控件Label详解
开发语言·c#
DokiDoki之父3 小时前
多线程—飞机大战排行榜功能(2.0版本)
android·java·开发语言
whatever who cares3 小时前
Java 中表示数据集的常用集合类
java·开发语言
xy_recording3 小时前
Day08 Go语言学习
开发语言·学习·golang
EndingCoder3 小时前
测试 Next.js 应用:工具与策略
开发语言·前端·javascript·log4j·测试·全栈·next.js