HTTP POST mutli part“BAD REQUEST”
我正在尝试使用POST上传文件
这是我的要求:
POST /upload.php HTTP/1.1 Host: localhost Content-Type: multipart/form-data; boundary=---------------------------552335022525 Content-Length: 192 -----------------------------552335022525 Content-Disposition: form-data; name="userfile"; filename="12.txt" Content-Type: text/plain blabla -----------------------------552335022525--
使用HTTP live header firefox插件一切正常
但是当把它放在一个char *缓冲区并用winsocksapi发送它时,我得到400 Bad Request错误
标头和有效负载之间需要一个空行。
Content-Length: 192 -----------------------------552335022525
这是HTTP协议的一部分。 HTTP请求标头以第一个空行结束(CR-LF本身。)您发送的是产生字符串
-----------------------------552335022525
被采取(以及以下两行)作为请求标题,当然,它不是。 服务器无法生成头部或尾部,因此它会响应400 Bad Request。
此外,使用multipart / form-data不需要发送Content-length,甚至也不是一个好主意,因为错误的值可能会产生问题。 MIME多部分格式是自我描述的。