使用requests请求获取返回数据
封装成函数
封装成类
一、使用requests请求post返回的数据
import requests
import json
# data={
# 'username':'sun',
# 'password':'123',
# 'data':'test'
# }
# res=requests.post(url='http://127.0.0.1:8000/login/',data=data)
# print(res.text)
# print(type(res.json()))
二、封装成函数
#封装成函数
url='http://127.0.0.1:8000/login/'
data={
'username':'sun',
'password':'123',
'data':'test'
}
def send_post(url,data):
#post->get就是get接口的,但是上面的测试数据的是post请求,get没有测试
res=requests.post(url=url,data=data).json()
#格式化json数据,indent=2是空格,sort是排序
return json.dumps(res,indent=2,sort_keys=True)
def send_get(url,data):
#post->get就是get接口的
res=requests.get(url=url,data=data).json()
#格式化json数据,indent=2是空格,sort是排序
return json.dumps(res,indent=2,sort_keys=True)
def run_main(data,url,method):
res=None
if method=='GET':
res=send_get(url,data)
else:
res=send_post(url,data)
return res
def run_main01(url,method,data=None):#默认参数放在最后面的位置
res = None
if method == 'GET':
res = send_get(url, data)
else:
res = send_post(url, data)
return res
# print(send_post(url,data))
# print(run_main(data,url,'POST'))
三、封装成类:
#进一步,封装成类
class RunMain:
#构造函数
# def __init__(self,url,method,data=None):
# self.res=self.run_main(url,method,data)
def send_post(self,url, data):
# post->get就是get接口的,但是上面的测试数据的是post请求,get没有测试
res = requests.post(url=url, data=data).json()
# 格式化json数据,indent=2是空格,sort是排序
# return json.dumps(res, indent=2, sort_keys=True)
return res
def send_get(self,url, data):
# post->get就是get接口的
res = requests.get(url=url, data=data).json()
# 格式化json数据,indent=2是空格,sort是排序
# return json.dumps(res, indent=2, sort_keys=True)
return res
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
#这种写法就是每次都要先实例化,然后再去调用run_main
if __name__=="__main__":
run=RunMain()
url = 'http://127.0.0.1:8000/login/'
data = {
'username': 'sun',
'password': '123',
'data': 'test'
}
print( run.run_main(url,'POST',data))
#可以直接写一个构造函数,当实例化的时候就自动执行run_main这个方法
#添加一个构造方法
# if __name__=="__main__":
# url = 'http://127.0.0.1:8000/login/'
# data = {
# 'username': 'sun',
# 'password': '123',
# 'data': 'test'
# }
# run=RunMain(url,'POST',data)#实例化的同时执行构造函数
# print(run.res)