如何将内容类型标头设置为空



我想发出POST请求:http://NUXEO_SERVER/nuxeo/api/v1/upload/

没有要发送的数据,但此Web服务需要POST方法。那么如何设置表头的Content-type呢?

这是我的代码:

$nuxeoBatchId = file_get_contents('http://192.168.128.101/nuxeo/api/v1/upload/', false, stream_context_create([
'http' => [
'method' => 'POST',
'header'  => "Content-type: text/html",
'content' => http_build_query([]) // of form 'key1' => 'Hello world!', 'key2' => 'second value'
]
])
);
$response->setContent($nuxeoBatchId);
return $response;

根据https://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2.1:

任何包含实体主体的HTTP/1.1消息都应该包括内容类型标题字段,定义该正文的媒体类型。如果和只有当媒体类型不是由"内容类型"字段给定时接收者可能试图通过检查其用于标识资源如果媒体类型仍然未知,则收件人应该将其视为"类型";应用程序/八位位组流";。

我认为如果你不知道媒体类型,你应该跳过Content-Type或设置为application/octet-stream

如果没有要发送的有效负载,则根本不应该设置Content-Type头字段。

最新更新