requests庫安裝與使用


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)

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM