我们有一个我们用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错误的代码,而是将内容长度设置为零。