Answers:
您是正确的-lighttpd不支持带有空消息正文且未将“ Content-Length”标头设置为零的POST请求,并且CURL发送此类请求。关于谁是正确的有来回回的争论,但是在我看来,lighttpd已被打破。没有Content-Length和Transfer-Encoding的POST是完全合法的,并且没有消息正文。
添加-d ""
会导致CURL发送Content-Length: 0
标头,从而解决了该问题。
您可以修改lighttp。找到发出411错误的代码,然后将内容长度设置为零。
-d @/dev/null
如果您认为效果更好,可以改用。您也可以使用-H "Content-Length: 0"
。(我测试了这两种方法,它们都起作用。)
-d ""
似乎是最好的选择。
-d ""
设置lighttpd伪指令来设置?-d ""
看起来像个黑客。