1. 程式人生 > 其它 >requests庫學習筆記

requests庫學習筆記

1.1安裝

  • pip install requests

  • python -m pip install requests

1.2使用

#1.導包
import requests
#2.準備介面三要素
#請求地址+請求方式+請求引數
url = "http://127.0.0.1/api/mgr/signin"
parameters = {
    "username":"byhy",
    "password":"88888888"
}
#傳送請求
response = requests.post(url = url,data = parameters)
#返回值
print(response)
''' response.text#將返回值按照文字格式顯示 response.json()#將返回值按照json格式顯示,對於返回值型別為json格式--->常用 response.status_code#響應碼 response.headers#獲取響應頭 response.content#獲取相應原始碼 #返回值資料為json格式時進行返回值格式化-->純粹是為了美化返回結果. ''' #json和python之間的轉化 result_json = response.json() #將返回值按照json格式顯示 result_json_format = json.dumps(result_json,indent=4,ensure_ascii=False)#
返回值資料為json格式時進行格式化 print(result_json_format)

1.3requests的get請求

  • 不帶引數的get請求

    • requsts.get(url = url,params = None)

  • 帶引數的get請求

    • requsts.get(url = url,params = data)

'''
1. 匯入requests
2. 準備介面三要素
   1. 請求地址
   2. 請求方式
   3. 請求引數:字典格式 {鍵:值}
3.傳送請求
'''
import requets
import json
url = "http://127.0.0.1/api/mgr/customers
" parameters = { 'action':'list_customer', # 固定傳參 'pagesize':30, 'pagenum':1, 'keywords':'醫院' } response = requests.get(url = url,params = parameters) #返回值以json格式顯示 result_json = response.json() #json格式返回值格式化 result_json_data = json.dumps(s,indent=4,ensure_ascii=False) print(result_json_data)

1.4requests的post請求

語法 requests.post(url,data=None,json=None,files=None)

  • 1.x-www-form-urlencoded請求引數型別

    • 引數:字典格式 {鍵:值}

    • 語法:requests.post(url = url,data = parameters)

  • 2.json格式請求引數型別

    • 引數:json格式

    • 語法 requests.post(url = url,json = parameters ) 或 requests.post(url = url,json = parameters,headers = headers )

      • requests中會預設將headers中的contentType設定為:application/json

      • headers的作用:當伺服器端對資訊頭中的欄位User-Agent做自動化驗證時,不讓python或者postman客戶端通過,可以偽裝下,把User-Agent內容改為瀏覽器的

headers = {
    "content-Type":"application/json",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
    }

.3.form-data格式請求引數型別

  • 語法1 http請求:requests.post(url = url ,data = parameters ,headers = headers)

  • 語法2 https請求:requests.post(url = url ,data = parameters ,headers = headers,verify=False)

  • 需要匯入requests_toolbelt

 from requests_toolbelt import MultipartEncoder

重新組合header

m = MultipatEncoder(fields=parameters)

headers = {
    "contentType":m.content_type
    }


4.binary引數型別

- 方法:requests.post(url = url,files = data,verify=False)

- 請求引數:

​ files = open("test.txt","rb")

​ data = {"files":files}