Python接口自动化-requests模块之post请求
post请求参数解析:
-
url: 请求的url,必填;
-
data: 选填,请求参数;
-
json: 选填,请求参数;
-
kwargs:选填,可以传入headers、cookies等。
data和json有啥区别呀,什么时候传入data,什么时候传入json。
1、当前接口的请求类型为application/x-www-form-urlencoded。
1 # 导入requests模块 2 import requests 3 # 请求url 4 url = "http://127.0.0.1:8000/user/login" 5 # 请求参数 6 payload = { 7 "mobilephone":"1530272****", 8 "pwd":"123456" 9 } 10 # form表单形式,参数用data 11 res = requests.post(url, data=payload) 12 print(res.text)
响应结果为:
1 { 2 "status": 1, 3 "code": "10001", 4 "data": null, 5 "msg": "登录成功" 6 }
2、当前接口的请求类型为application/json
1 # 导入requests模块 2 import requests 3 # 请求的url地址 4 url = 'http://127.0.0.1:8000/user/login/' 5 # 请求头 6 headers = {"content-type":"application/json"} 7 # payload 为传入的参数 8 payload = {"username":"huahua","password":"123456","remember_me":"false"} 9 # json形式,参数用json 10 res = requests.post(url,json=payload,headers=headers) 11 print(res.text)
响应结果为:
1 { 2 "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InZpdmkiLCJleHAiOjE1ODY1OTUyOTEsImVtYWlsIjoidml2aUBxcS5jb20ifQ.1RGrO6hSWHi9RDXjYuqY0UCPKMmQvaybpHvYqC0dCis", 3 "user_id": 1, 4 "username": "huahua 5 }
3、请求类型为application/json,如果想用data传参,需要将字典类型数据转换为json字符串。
1 import requests 2 import json 3 payload = {"username":"huahua","password":"123456","remember_me":"false"} 4 header = {"content-type":"application/json"} 5 # 字典转换为json串 6 data = json.dumps(payload) 7 url = 'http://127.0.0.1:8000/user/login/' 8 res = requests.post(url,data=data,headers=header) 9 print(res.text)
4、了解下json用法
-
json.load()从json文件中读取数据
-
json.loads()将str类型的数据转换为dict类型
-
json.dumps()将dict类型的数据转成str
-
json.dump()将数据以json的数据类型写入文件中
原文链接:https://blog.csdn.net/weixin_42485712/article/details/106280239