requests库之发送post请求
一、前言
前面我们说了requests库发送get请求,在实际生成中,很多请求是post方法请求,那么requests库如何发送post请求呢?
其实,发送post请求和发送get请求十分相似,下面我们来具体看看吧。
二、发送post请求
和发送get请求一样,发送post请求也需要导入requests库,如下:
import requests
要发送post请求,需要调用post方法,并传入参数和请求头(如需要的话),如下:
import requests request_url = "https://xxx/rsn/user/login" headers= { "Host": "xxx", "Content-Type": "application/json", "Origin": "https://xxx", "Referer": "https://xxx/iblfront/rs-histology/" } request_data = { "type": 0, "userName": "xxxxxxxxx", "password": "xxxxxxxxx" } response = requests.post(request_url, headers=headers, json=request_data)
但post和get请求的请求有区别:
get:params
post:data或json
是使用data还是json,需要根据接口要求,若Content-Type请求头字段为:application/json,那么我们就使用json,如果是multipart/form-data或其他格式,我们
就统一使用data
对于返回值是json格式时(无论是什么类型请求,以下处理方式都通用),可以通过Response对象的json()方法将返回值转换为字典格式。
import requests request_url = "https://xxx/rsn/user/login" headers= { "Host": "xxx", "Content-Type": "application/json", "Origin": "https://xxx", "Referer": "https://xxx/iblfront/rs-histology/" } request_data = { "type": 0, "userName": "xxxxxxxxx", "password": "xxxxxxxxx" } response = requests.post(request_url, headers=headers, json=request_data) print(response.json()) print(type(response.json())) print(response.json()["data"]["uid"])
执行结果如下:

对于获取响应或请求的其他信息,post和get方法一致。
浙公网安备 33010602011771号