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,不转义反斜杠
相关推荐
毕设源码-朱学姐1 分钟前
【开题答辩全过程】以 基于Python语言的疫情数据可视化系统为例,包含答辩的问题和答案
开发语言·python·信息可视化
哥只是传说中的小白7 分钟前
Nano Banana Pro高并发接入Grsai Api实战!0.09/张无限批量生成(附接入实战+开源工具)
开发语言·数据库·ai作画·开源·aigc·php·api
wtsolutions18 分钟前
Sheet-to-Doc占位符系统详解:让数据自动填入Word指定位置
开发语言·c#
m0_6356474823 分钟前
Qt使用第三方组件库新手教程(一)
开发语言·c++·qt
雒珣23 分钟前
控制QT生成目录
开发语言·qt
jllllyuz1 小时前
单载波中继系统资源分配算法综述与实现
开发语言·matlab
Hello.Reader1 小时前
PyFlink Table Arrow 原理、Exactly-Once、Batch Size、内存风险与最佳实践
开发语言·batch
智商偏低1 小时前
abp PermissionDefinitionManager源码解析
开发语言·前端·javascript
亚历山大海1 小时前
PHP HTML 实体(HTML Entities)没有被正确解码导致< 和 δ 等字符被转换
开发语言·html·php
CSDN_RTKLIB1 小时前
C++取余符号%
开发语言·c++