php使用curl发送请求时 添加header失效

原文地址

场景复现

$headers['token'] = '12erthyj7y6gtfhh567tuygjhkjb';

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

这个样设置headers后,一直无法请求成功,提示缺少token。

解决方案

php curl文档地址
仔细看文档后发现问题所在,设置headers是key和value组合成字符串的形式整体作为value添加到数组中,文档如下。

CURLOPT_HTTPHEADER 设置 HTTP 头字段的数组。格式: array(‘Content-type: text/plain’, ‘Content-length: 100’)

在我们的例子中,应该修改为:

// 或者 $headers['token'] = 'token: 12erthyj7y6gtfhh567tuygjhkjb';
$headers[] = 'token: 12erthyj7y6gtfhh567tuygjhkjb';

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

以上

你可能感兴趣的:(PHP学习记录)