requests实现更复杂的POST
通常,你想使用requests模拟HTML中的表单内容。你只需要将一个字典传递给 data 参数;requests会将你的数据字典自动编码为表单的形式。
data = {'wd':"完美代码"}
response = requests.post('api url',data=data)
你还可以为 data 参数传入一个元组列表。在表单中多个元素使用同一 key 的时候,这种方式尤其有效:
data = (('key1', 'value1'), ('key1', 'value2'))
response = requests.post('api url',data=data)
POST JSON数据
要POST一个JSON数据,你并不需要自行编码;requests内置一个JSON编码器,你只需要将字典数据传递给json参数:
data = {'wd':"完美代码"}
response = requests.post('api url',json=data)
POST文件
使用Requests上传文件非常简单:
files = {'file': open('info.xls', 'rb')}
response = requests.post('api url',files=files)
你也可以设置文件名、文件类型和请求头:
files = {'file': ('info.xls', open('info.xls', 'rb'),
'application/vnd.ms-excel',
{'Expires': '0'}
)
}
response = requests.post('api url',files=files)
你也可以将字符串作为文件来POST:
files = {'file': ('info.txt', 'hello world\n')}
response = requests.post('api url',files=files)