1.通过data参数和files参数发送请求
import requests
request_url = 'http://www.test.com/upload'
# 构造字典,键值对方式传参
request_data = {
'字段1': 'test1',
'字段2': 'test2',
'字段3':'test3'
}
# 上传文件单独构造成以下形式
# 'file' 上传文件的字段名
# 'filename' 上传到服务器的文件名,可以和上传的文件名不同
# open('test.zip') 打开的文件对象,注意文件路径正确
request_file = {'file':(('filename',open('test.zip')))}
requests.post(url=request_url, data=request_data, files=request_file) # url,data,files
2.仅通过files参数模拟文件发送请求
import requests
request_url = 'http://www.test.com/upload'
# 构造字典,键值对方式传参
# 不是文件的构造键值对,键值为一个元组形式,元组第0位为None,第1位为键值.
request_files = {
'字段1': (None,'test1'),
'字段2': (None,'test2'),
'字段3': (None,'test3'),
'file':(('filename',open('test.zip'))}
requests.post(url=request_url, files=request_file) # url,files