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 天前
[嵌入式系统-135]:主流AIOT智能体开发板
开发语言·嵌入式·cpu
yudiandian20141 天前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
要加油哦~1 天前
JS | 知识点总结 - 原型链
开发语言·javascript·原型模式
亿坊电商1 天前
在PHP框架里如何进行数据库连接?
数据库·oracle·php
鄃鳕1 天前
python迭代器解包【python】
开发语言·python
new coder1 天前
[c++语法学习]Day10:c++引用
开发语言·c++·学习
驰羽1 天前
[GO]GORM 常用 Tag 速查手册
开发语言·后端·golang
Narcissiffo1 天前
【C语言】str系列函数
c语言·开发语言
workflower1 天前
软件工程与计算机科学的关系
开发语言·软件工程·团队开发·需求分析·个人开发·结对编程
ajsbxi1 天前
【Java 基础】核心知识点梳理
java·开发语言·笔记