curlPOST – 411长度要求

我们有一个我们用PHP构build的RestFUL API。 如果我们提出要求:

curl -u api-key:api-passphrase https://api.domain.com/v1/product -X POST 

我们回来:

 411 - Length Required 

虽然如果我们简单地将-d ""添加到请求的工作中,并且没有411错误。 有没有办法不需要添加-d到curl命令?

我们正在使用lighttpdnetworking服务器,并相信它的lighttpd不是PHP谁返回411错误。

你是正确的 – lighttpd不支持没有'Content-Length'头部的空邮件正文的POST请求,并且CURL发送这样的请求。 有谁说得对,但我认为lighttpd是坏的。 没有Content-Length和没有Transfer-Encoding的POST是完全合法的,并且没有消息体。

添加-d ""会导致CURL发送一个Content-Length: 0头,这可以解决问题。

你可以修改lighttp。 find发布411错误的代码,而是将内容长度设置为零。