php curl发送get、post请求

devtools/2024/9/24 5:28:08/

直接上代码,如下。

注意请求参数为json格式的话,需要 json_encode($params)

php">function doRequest($url, $method = 'GET', $params = [])
{$ch = curl_init();//设置抓取的urlcurl_setopt($ch, CURLOPT_URL, $url);//不设置头文件的信息作为数据流输出curl_setopt($ch, CURLOPT_HEADER, 0);//设置获取的信息以文件流的形式返回,而不是直接输出。curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置curl允许执行的最长秒数curl_setopt($ch, CURLOPT_TIMEOUT, 60);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//判断是否为post请求if ($method == 'POST') {//设置post方式提交curl_setopt($ch, CURLOPT_POST, 1);//全部数据使用HTTP协议中的"POST"操作来发送。//要发送文件,在文件名前面加上@前缀并使用完整路径。//这个参数可以通过urlencoded后的字符串类似’para1=val1¶2=val2&…’或使用一个以字段名为键值,字段数据为值的数组。//如果value是一个数组,Content-Type头将会被设置成multipart/form-data。curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
//        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));//参数是json的话就不需要这个//设置post发送的参数为json格式--注意这里如果不需要json格式 可以去掉。curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8',//只适用于请求参数为json的时候'Content-Length:' . strlen($params),//只适用于请求参数为json的时候'Cache-Control: no-cache','Pragma: no-cache'));}$response = curl_exec($ch);//可用来检查curl错误
//    $errorNo = curl_errno($curl);
//    if ($errorNo) {
//        return $errorNo;
//    }curl_close($ch);return json_decode($response, true);
}

再来一个curl模拟formdata上传图片的请求示例

php">function()
{$filePath = './image.png'; //本地图片路径//构建multipart/form-data的数据$data = array('debug' => 1,'file' => new CURLFile($filePath, 'image/png', 'image.png'));//发送post请求$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$response = curl_exec($ch);if (curl_errno($ch)) {
//        echo 'Error:' . curl_error($ch);return false;}curl_close($ch);return json_decode($response, true);
}

CURL参数说明请参考这里!!


http://www.ppmy.cn/devtools/116348.html

相关文章

数字化转型加速,报表工具助力制造业变革

在当前全球制造业加速迈向数字化的背景下,企业正面临前所未有的挑战和机遇。然而,制造业的数字化转型并非一蹴而就,许多企业在推进过程中遇到了各种痛点。 制造业数字化转型的痛点 制造业的生产流程复杂,涉及多种设备、工艺和原…

链式队列操作

文章目录 🍊自我介绍🍊概述🍊链式队列代码linkstack.clinkstack.hmain.c 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好&…

M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽

M9410A PXI 矢量收发信机 -300/600/1200MHz带宽- M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽支持 5G 的 PXI 矢量收发信机(VXT)是一个 2 插槽模块,具有 1.2 GHz 的瞬时带宽 主要特点 Keysight M9410A VXT PXIe 矢量收发…

【解密 Kotlin 扩展函数】扩展函数的底层原理(十八)

导读大纲 1.1.1 从 Java 调用扩展函数1.1.2 扩展函数无法重载 1.1.1 从 Java 调用扩展函数 在编译器底层下,扩展函数是一种静态方法,它接受接收器对象作为第一个参数 调用它不涉及创建适配器对象或任何其他运行时开销这使得从 Java 使用扩展函数变得非常简单 调用静态方法并传…

HDFS分布式文件系统01-HDFS架构与SHELL操作

HDFS分布式文件系统 学习目标第一课时知识点1-文件系统的分类单机文件系统网络文件系统分布式文件系统 知识点2-HDFS架构知识点3-HDFS的特点知识点4-HDFS的文件读写流程知识点5-HDFS的健壮性 第二课时知识点1-HDFS的Shell介绍HDFS Shell的语法格式如下。HDFS Shell客户端命令中…

9.23 My_string.cpp

my_string.h #ifndef MY_STRING_H #define MY_STRING_H#include <iostream> #include <cstring>using namespace std;class My_string { private:char *ptr; //指向字符数组的指针int size; //字符串的最大容量int len; //字符串当前…

解构拼duoduo电商api数据海量详情商品自动化

拼多多作为中国领先的社交电商平台&#xff0c;为商家和开发者提供了丰富的 API 接口以获取商品详情数据&#xff0c;实现商品价格监控自动化。这些 API 接口旨在帮助商家和开发者在开发过程中快速、准确地获取所需数据&#xff0c;提高开发效率和业务运营水平。 获取商品详情…

verilog中非阻塞多个if 优先级判断。

always(posedge clk)beginz < 0;if(sel0)z < a;if(sel1)z < b;if(sel2)z < c;if(sel3)z < d;end 比如上述代码&#xff0c;最后一级的优先级最高。