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