当前位置: 首页 > news >正文

PHP之CURL通过header传参数及接收

一、传参数之冒号

注意一点,这里的header数据不是KV结构,而是一个一维数组。

看清楚,注意一点,是这样的结构:

$ch = curl_init();
$headers = ['X-Custom-Header: value123','Authorization: Bearer your_token_here' // 示例
];
curl_setopt_array($ch, [CURLOPT_URL => 'https://api.example.com/endpoint',CURLOPT_RETURNTRANSFER => true,CURLOPT_HTTPHEADER => $headers,CURLOPT_HEADER => true // 开启以调试响应头
]);
$response = curl_exec($ch);
curl_close($ch);

注意第三行中间是冒号分开的,冒号,冒号!!

不是 

X-Custom-Header => value123

切记!!!!

二: CURL只能传一维数组

不要传二维码的,传过去接收不了。

如果你要传二维码的请先转义再传!

// 原始二维数组
$data = ["users" => [["name" => "John", "age" => 30],["name" => "Jane", "age" => 25]],"action" => "update"
];// 转换为 URL 编码格式
$postData = http_build_query($data);$ch = curl_init();
curl_setopt_array($ch, [CURLOPT_URL => "https://api.example.com/endpoint",CURLOPT_POST => true,CURLOPT_POSTFIELDS => $postData,CURLOPT_HTTPHEADER => ["Content-Type: application/x-www-form-urlencoded"],CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);

这里要使用http_build_query($data)

转义后再传。

三、接收Header

使用 $_SERVER 即可,不过接收到的全是大写的,会加上HTTP

或使用 getallheaders() 函数,取得的是不带HTTP的小写变量名。

PHP: getallheaders - Manual

相关文章:

  • 如何快速定位网络中哪台主机发起ARP攻击
  • 前端八股 6
  • 【Linux】C语言补充知识
  • 西门子数字化研发设计制造一体化规划案例P87(87页PPT)(文末有下载方式)
  • PHP-Cookie
  • 攻防世界 - Misc - Level 6 | Wireshark
  • 字节一面:后端开发
  • 卡洛诗西餐的文化破圈之路
  • 3.2/Q2,Charls最新文章解读
  • SARSA 算法详解:python从零实现
  • TDA4VM SDK J721E (RTOS/Linux) bootloaders梳理笔记
  • 51c嵌入式~单片机~合集9
  • Calculus on Computational Graphs: Backpropagation
  • VB.net序列化和反序列化的使用方法和实用场景
  • xray-poc编写示例
  • Java 泛型参数问题:‘ResponseData.this‘ cannot be referenced from a static contex
  • GoogleTest:简单示例及ASSERT/EXPECT说明
  • 【编译原理】第四章 习题
  • pandas读取Excel数据(.xlsx和.xls)到treeview
  • 传感器的精度,灵敏度等概念介绍
  • 图忆|上海车展40年:中国人的梦中情车有哪些变化(下)
  • 见证历史与未来共舞:上海西岸“蝶变共生”对话讲坛圆满举行
  • 解放日报:让算力像“水电煤”赋能千行百业
  • 神舟十九号航天员乘组平安抵京
  • 辽宁辽阳火灾3名伤者无生命危险
  • 当初没有珍惜巴特勒的热火,被横扫出局后才追悔莫及