转自:http://www.weidianyuedu.com/content/5613451368623.html
3.发送post请求
r = requests.post(“http://pythontab.com/postTest”, data = {“key”:“value”})
以上得知,post请求参数是以data关键字参数来传递的。
现在的data参数传递的是字典,我们也可以传递一个json格式的数据,如下:
import json
import requests
payload = {“key”:“value”}
r = requests.post(“http://pythontab.com/postTest”, data = json.dumps(payload))
由于发送json格式数据太常见了,所以在Requests模块的高版本中,又加入了json这个关键字参数,可以直接发送json数据给post请求而不用再使用json模块了,见下:
payload = {“key”:“value”}
r = requests.post(“http://pythontab.com/postTest”, json=payload)
如果我们想post一个文件怎么办呢?这个时候就需要用到files参数了:
url = ‘http://pythontab.com/postTest’
files = {‘file’: open(‘report.xls’, ‘rb’)}
r = requests.post(url, files=files)
r.text
我们还可以在post文件时指定文件名等额外的信息:
url = ‘http://pythontab.com/postTest’
files = {‘file’: (‘report.xls’, open(‘report.xls’, ‘rb’), ‘application/vnd.ms-excel’, {‘Expires’: ‘0’})}
r = requests.post(url, files=files)
tips:强烈建议使用二进制模式打开文件,因为如果以文本文件格式打开时,可能会因为“Content-Length”这个header而出错。
可以看到,使用Requests发送请求简单吧!