- 概念:使用requests可以模拟浏览器发送请求,Requests 是用python语言编写的第三方库,基于 urllib,多用于接口测试
- requests安装
如果报这个错:
WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
说明pip不是最新版本,需要升级最新版本,执行以下命令:
python -m pip install --upgrade pip
安装requests命令:pip install requests
检查是否安装成功:进入python环境后,执行import requests,如果不报错就成功了
>>Python
>>import requests
>>
import requests
data={
'username':'zhangsan',
'password':111111
}
res =requests.post(url='http://127.0.0.1:8000/login/',data=data)
print(res.text) #显示响应文本
{"user": "zhangsan", "passwordNum": "111111"}
注意:get和post的参数不一样
Requests.get(url=url,params=params)
Requests.post(url=url,data=data)
import requests
url='http://127.0.0.1:8000/login/'
data={
'username':'zhangsan',
'password':111111
}
def send(url,data): #requests.post方法进行封装
res =requests.post(url=url,data=data)
return res.json()
print(send(url,data))
结果:{'user': 'zhangsan', 'passwordNum': '111111'}
4-4 重构get请求+格式化响应数据
import requests
import json
url='http://127.0.0.1:8000/login/'
data={
'username':'test',
'password':'111111'
}
def send(url,data): #requests.post方法进行封装
res =requests.get(url=url,params=data).json() # res返回dict格式
return json.dumps(res,indent=2,sort_keys=True) #json.dumps把dict转换成str;indent数据以2个空格进行缩进
print(send(url,data))
结果:
{
"passwordNum": "111111",
"user": "test"
}
import requests
import json
class RunMain():
def __init__(self,url,method,data=None):
self.res =self.run_main(url,method,data) #调用类后,直接调用run_main方法
def send_get(self,url,data): #requests.get方法进行封装
res =requests.get(url=url,params=data).json() # res返回dict格式
return json.dumps(res,indent=2,sort_keys=True) #json.dumps把dict转换成str;indent数据以2个空格进行缩进
def send_post(self,url,data):
res = requests.post(url=url, data=data).json() # res返回dict格式
return json.dumps(res, indent=2, sort_keys=True)
def run_main(self,url,method,data=None):
res = None
if method=='GET':
res= self.send_get(url,data)
else:
res= self.send_post(url,data)
return res
if __name__ == '__main__':
url = 'http://127.0.0.1:8000/login/?username=test1&password=111'
# data = {
# 'username': 'test1',
# 'password': 222
# }
run = RunMain(url,'GET')
print(run.res)