场景复现
$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);
以上