上传文件

使用 Requests 模块,只需提供文件句柄,而不是使用 .read() 检索的内容:

from requests import post

files = {'file' : open('data.txt', 'rb')}

foo = post('http://http.org/post', files=files)

还可以设置 Filename,content_type 和 headers:

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

foo = requests.post('http://httpbin.org/post', files=files)

字符串也可以作为文件发送,只要它们作为 files 参数提供。

多个文件

可以以与一个文件大致相同的方式提供多个文件:

multiple_files = [
    ('images', ('foo.png', open('foo.png', 'rb'), 'image/png')),
    ('images', ('bar.png', open('bar.png', 'rb'), 'image/png'))]

foo = post('http://httpbin.org/post', files=multiple_files)