開發者所設計的軟體系統,經常需要與其他軟體系統進行溝通與互動。每個系統在各自的領域中發揮作用,可能會從其他系統獲取資料,或向它們發送請求以執行某些指令。
以常見的 Web Application 為例,許多網站提供透過 Google 或 Facebook 進行登入的功能。此時,開發者的系統需要與這些第三方平台進行互動,來完成使用者的身份驗證,並獲取基本的使用者資訊等操作。
在系統之間的溝通方式中,最常見的手段是通過網路協定中的 HTTP 來實現。HTTP 是現代網路中最基本的傳輸協定之一,負責在不同系統之間傳送資料和指令,從而達到有效的互動和協作。
在 Python 的眾多套件中,Requests 無疑是用於處理 HTTP 請求最廣泛採用的工具。由於其簡潔的語法和人性化的設計,使得開發者能夠輕鬆發送請求並處理響應。接下來,我將通過具體的範例來進行詳細說明。
本次範例使用的是 Requests 2.32.3 版本
poetry add requests==2.32.3
在這個範例中,開發者發出了一個 HTTP Request 至提供隨機貓咪知識的伺服器 URL,並從伺服器的 Response 中獲取相關資訊(如下圖所示)。
首先,response.status
可用來檢查請求的回應狀態,狀態碼是由國際標準組織所規範,針對不同的回應類型有明確的定義。例如,本範例中的 200
狀態碼表示請求已成功處理,伺服器也正確返回了所需的資源。接著,response.json
能夠解析並返回 JSON 格式的內容,這些內容包含一條有關貓咪知識的文字資訊及其字串長度。
import requests
response = requests.get('https://catfact.ninja/fact')
print(f"status code: {response.status_code}")
print(f"response: {response.json()}")