前端之家收集整理的这篇文章主要介绍了
php – 卷曲POST – 411长度要求,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个用
PHP构建的RestFUL API.如果我们提出要求:
curl -u api-key:api-passphrase https://api.domain.com/v1/product -X POST
我们回来了:
411 - Length required
虽然如果我们只是在请求上添加-d“”它就可以工作而没有411错误.有没有办法不要求在curl命令中添加-d?
我们正在使用lighttpd web服务器,并且相信它的lighttpd不是PHP谁返回411错误.
你是对的 – lighttpd
不支持具有空消息体的POST请求而没有将“Content-Length”标头设置为零,并且CURL发送这样的请求.关于谁是正确的,有来回争论,但在我看来,lighttpd被打破了.没有Content-Length且没有Transfer-Encoding的POST是完全合法的,没有消息体.
添加-d“”会导致CURL发送Content-Length:0标头,从而解决问题.
你可以修改lighttp.找到发出411错误的代码,然后将内容长度设置为零.