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}