1.安裝requests庫
輸入 python -m pip install requests
2.簡單使用-post
import requests import json data = { 'username':'dajiu', 'password':'123456' } #以字典方式傳入數據 res = requests.post(url='http://127.0.0.1:8000/login/',data=data) #post方法有2個參數,一個url一個data print (res.text) #打印數據 print (res) #打印response
運行結果

3.重構發送post請求
import requests url = 'http://127.0.0.1:8000/login/' data = { 'username':'dajiu', 'password':'123456' } def send_post(url,data): #封裝方法,定義函數,有2個參數 res = requests.post(url=url,data=data) return res.text #返回結果 print(send_post(url,data)) #打印結果
運行結果:

3.重構發送get請求
#這個方法我得到的結果是返回為空
import requests import json url = 'http://127.0.0.1:8000/login/?' data = { 'username':'dajiu', 'password':'123456' } def send_get(url,data): result = requests.get(url=url,data=data).json() res = json.dumps(result) return res print(send_get(url,data))
第二種
import requests import json url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123456' def send_get(url): res = requests.get(url=url).json() r = json.dumps(res) return r print (send_get(url))
運行結果

4.格式化響應數據
import requests import json url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123456' def send_get(url): res = requests.get(url=url).json() r = json.dumps(res,indent=2,sort_keys=True) #indent=2是空格,sort是排序(按照字母排序) return r print (send_get(url))
運行結果

5.使用類封裝測試腳本
先使用一個函數來調用接口函數
import requests import json url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123' data = { 'username':'dajiu', 'password':'123456' } def send_get(url): res = requests.get(url=url).json() r = json.dumps(res,indent=2,sort_keys=True) return r def send_post(url,data): res = requests.post(url=url,data=data) return res.text def run_main(url,method,data=None): #把data數據默認為空,因為get不用傳數據,空參數要放在有值參數后面 res = None if method == 'GET': res = send_get(url) else: res = send_post(url,data) return res print(run_main(url,'POST',data))
運行結果

再使用類封裝:第一種
import requests import json class RunMain: #當前類的第一個參數是self def send_get(self,url): res = requests.get(url=url).json() r = json.dumps(res,indent=2,sort_keys=True) return r def send_post(self,url,data): res = requests.post(url=url,data=data).json() r = json.dumps(res,indent=2,sort_keys=True) return r def run_main(self,url,method,data=None): #把daa數據默認為空,因為get不用傳數據,空參數要放在有值參數后面 res = None if method == 'GET': res = self.send_get(url) else: res = self.send_post(url,data) return res if __name__ == '__main__': #這種寫法就是每次都要先實例化,然后再去調用run_main run = RunMain() url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123' data = { 'username':'dajiu', 'password':'123456' } print(run.run_main(url,'POST',data))
運行結果:

第二種
import requests import json class RunMain: #構造函數 def __init__(self,url,method,data=None): self.res=self.run_main(url,method,data) #當前類的第一個參數是self def send_get(self,url): res = requests.get(url=url).json() r = json.dumps(res,indent=2,sort_keys=True) return r def send_post(self,url,data): res = requests.post(url=url,data=data).json() r = json.dumps(res,indent=2,sort_keys=True) return r def run_main(self,url,method,data=None): #把daa數據默認為空,因為get不用傳數據,空參數要放在有值參數后面 res = None if method == 'GET': res = self.send_get(url) else: res = self.send_post(url,data) return res if __name__=="__main__": url = 'http://127.0.0.1:8000/login/' data = { 'username': 'sun', 'password': '123', } run=RunMain(url,'POST',data)#實例化的同時執行構造函數 print(run.res)
運行結果:
