使用请求上传文件并发送额外数据

时间:2012-10-22 15:57:30

标签: python python-2.7 python-requests

我正在尝试使用requests上传文件。我需要上传一个PDF文件,同时将一些其他数据发送到表单,如作者姓名。

我试过了:

requests.get(url, files = {"file":open("file.txt"), "author" : "me" })

但它不会将数据发送到表单。

1 个答案:

答案 0 :(得分:16)

所以我知道你想上传到一个URL,一个pdf文件以及一些额外的参数。

您遇到的第一个错误是您使用的是.get()而不是.post()

我正在使用documentation中的样本,您应该通过这些样本。这应该让你开始:

>>> url = 'http://httpbin.org/post'
>>> files = {'file': open('somefile.pdf', 'rb')}
>>> values = {'author': 'John Smith'}
>>> r = requests.post(url, files=files, data=values)