使用python请求的多部分POST

时间:2013-11-13 22:10:05

标签: python python-2.7 mime-types python-requests

我正在使用python包请求进行多部分POST。 我使用xlrd更改Excel文件中的某些值保存,然后在多部分POST中发送它。 当我在我的Mac上本地运行它时,这工作正常,但是当我将代码放在远程机器上并发出相同的请求时,正文内容类型为空白,而本地内容类型为application / vnd.ms-excel。所以我的问题是,有没有办法使用python请求强制执行内容类型,以便在这种情况下,正文内容类型是application / vnd.ms-excel。 抱歉无法发布任何代码,因为我没有在这台机器上。

2 个答案:

答案 0 :(得分:8)

files参数接受元组键的字典,格式如下:

files = {'name': (<filename>, <file object>, <content type>, <per-part headers>)}

在您的具体情况下,您可以写下:

files = {'file': ('filename.xls', open('filename.xls'), 'application/vnd.ms-excel', {})}

这应该可以正常工作。

答案 1 :(得分:0)

我相信你可以使用headers参数,例如

requests.post(url, data=my_data, headers={"Content-type": "application/vnd.ms-excel"})