- 使用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)
