如何使用Python请求设置媒体类型?

时间:2015-04-08 09:10:46

标签: python curl python-requests

我试图用Python请求重现这个curl语句:

curl -T data/Graph.obj -X POST localhost:8080

我的Python代码如下:

files = {'Graph.obj': open('data/Graph.obj', 'rb')}
r = requests.post('http://localhost:8080', files=files)

curl语句运行正常。但对于Python代码,我收到错误HTTP 415 Unsupported Media Type HTTP

如何正确设置媒体类型?或者我还缺少什么?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

url = 'http://httpbin.org/post'
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}

http://docs.python-requests.org/en/latest/user/quickstart/#post-a-multipart-encoded-file