不要在 cURL 中发送任何 Content-type 标头
Posted
技术标签:
【中文标题】不要在 cURL 中发送任何 Content-type 标头【英文标题】:Do not send any Content-type header in cURL 【发布时间】:2014-09-08 00:15:50 【问题描述】:我正在尝试将我的 cURL 请求的内容类型标头设置为 null。 由于某种原因,我尝试使用的 API 不允许 Content-Type。 如果我确实给出了一个内容类型,我会得到一个 415 响应。
但似乎 cURL 总是发送一个 Content-Type。即使我没有设置一个。
我试过了:
curl_setopt($request, CURLOPT_HTTPHEADER, array());
或
curl_setopt($request, CURLOPT_HTTPHEADER, array(
'Content-type: null'));
或
curl_setopt($request, CURLOPT_HTTPHEADER, array(
'Content-type: ""',
));
但没有任何效果。
有人知道吗?
谢谢!
【问题讨论】:
'Content-type'
标头仅包含在 POST/PUT 请求中,即当您将数据发送到远程服务器时。否则它不应该包含在标题中
不指定空内容类型,你不能向 API 发送它所期望的东西吗?
它期望不设置内容类型。
【参考方案1】:
好的,因此您无法发送没有内容类型标头的 cURL 请求。这是简短的答案。 这是不可能的。
如果你不自己设置,它会将内容类型设置为
text/html
我正在尝试发送文件。最后发现这个特定API的content-type应该设置为:
application/octet-stream
【讨论】:
以上是关于不要在 cURL 中发送任何 Content-type 标头的主要内容,如果未能解决你的问题,请参考以下文章