解决PHP的CURL库发送POST请求时Content-Type为空的问题
当使用PHP的CURL发送POST请求时,发现POST的Content-Type为空,这并非预期结果所以进行了debug并解决了问题。以此记录并希望能帮助到后来人。
{ PHP CURL 设置 Content-Type }
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json; charset=utf-8';
...
if (!empty($headers)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
{ 解决Content-Type为空 }
主要原因是因为POST的内容为空,所以php的安全策略直接把Content-Type也设置为空了.解决办法就是为POST设置非空的值, Content-Type就会传递正确的值到服务端.
curl_setopt($ch, CURLOPT_POSTFIELDS, ['source'=>'yiilib.com']);
留言