在我的项目中
我用过
curl -I url -H"Content-Type: application/octet-stream" -X POST
一切正常。
但在python中我使用了请求模块
response = requests.post(url, data="mystring", headers="Content-Type: application/octet-stream")
然后我得到400错误,这意味着:错误请求;请求以某种方式格式错误,无法处理。
可能是什么问题?
答案 0 :(得分:0)
您确定curl和请求的网址和数据完全相同吗?
答案 1 :(得分:0)
尝试一些基本的故障排除。假设url和数据字符串是正确的。你确定你能够到达服务器吗? curl请求是一个终端命令,并且与python API类型命令的连接不同,python可能需要服务器打开的额外权限。如果您正在运行Apache,则需要确保它允许使用scirpted标头
还尝试使用其他库(如此线程上的人员)进行连接的另一种方式:How do you send a HEAD HTTP request in Python 2?
“使用httplib
import httplib
conn = httplib.HTTPConnection("www.google.com")
conn.request("HEAD", "/index.html")
res = conn.getresponse()
print res.status, res.reason
200 OK
print res.getheaders()
[('content-length', '0'), ('expires', '-1'), ('server', 'gws'), ('cache-control', 'private, max-age=0'), ('date', 'Sat, 20 Sep 2008 06:43:36 GMT'), ('content-type', 'text/html; charset=ISO-8859-1')]
“