我必须将一个文件和一些数据发布到api。 这是我为测试编写的python代码:
fl={'payload' : open('C:/data/log2.txt')}
params = {
'topic':'pos',
'store':storeID,
}
r = requests.post(url,files=fl,data=params)
print r.status
print r.text
但我总是收到一条消息,“文件格式不正确”
我用POSTMAN测试了api(镀铬扩展以测试其余的API)并且它似乎与邮递员工作正常我得到了成功的响应并且文件被发送,这是一个快照。
答案 0 :(得分:2)
>>> url = 'http://httpbin.org/post'
>>> files = {'file': open('report.xls', 'rb')}
>>> r = requests.post(url, files=files)
>>> r.text
{
...
"files": {
"file": "<censored...binary...data>"
},
...
}
尝试将'rb'
添加到您的open语句中,以便上传二进制数据。
更改
fl={'payload' : open('C:/data/log2.txt')}
到
fl={'payload' : open('C:/data/log2.txt', 'rb')}