一、先研究下post方法和get方法的不同:
1、定义添加学生信息接口
2、映射请求路径
3、代码发送请求
import requests
if __name__ == '__main__':
url="http://127.0.0.1:8000/student/add"
data={"name":"peter","age":23}
resp=requests.post(url,data=data)
print(resp.status_code)
print(resp.reason)
print(resp.headers)
print(resp.text)
4、fiddler抓取一下,研究研究
可得:get请求方式传的参数是接在请求行后的,而post请求方式传的参数是在以键值对格式放在body里的。
3.1、把post()里的参数data换成json
import requests
if __name__ == '__main__':
url="http://127.0.0.1:8000/student/add"
data={"name":"peter","age":23}
resp=requests.post(url,json=data)
print(resp.status_code)
print(resp.reason)
print(resp.headers)
print(resp.text)
4.1、抓包可见:传的参数变成以json格式放在body里。
3.2、把post()里的参数json再换成params
import requests
if __name__ == '__main__':
url="http://127.0.0.1:8000/student/add"
data={"name":"peter","age":23}
resp=requests.post(url,params=data)
print(resp.status_code)
print(resp.reason)
print(resp.headers)
print(resp.text)
4.2、抓包可见:传的参数接在请求行后了。
3.3、可以结合使用,一部分显示在请求行里,一部分隐藏在body里。
import requests
if __name__ ==