
- Python - 網路程式設計
- Python - 網路入門
- Python - 網路環境
- Python - 網際網路協議
- Python - IP 地址
- Python - DNS 查詢
- Python - 路由
- Python - HTTP 請求
- Python - HTTP 響應
- Python - HTTP 頭部
- Python - 自定義 HTTP 請求
- Python - 請求狀態碼
- Python - HTTP 身份驗證
- Python - HTTP 資料下載
- Python - 連線重用
- Python - 網路介面
- Python - Socket 程式設計
- Python - HTTP 客戶端
- Python - HTTP 伺服器
- Python - 構建 URL
- Python - Web 表單提交
- Python - 資料庫和 SQL
- Python - Telnet
- Python - 郵件訊息
- Python - SMTP
- Python - POP3
- Python - IMAP
- Python - SSH
- Python - FTP
- Python - SFTP
- Python - Web 伺服器
- Python - 上傳資料
- Python - 代理伺服器
- Python - 目錄列表
- Python - 遠端過程呼叫
- Python - RPC JSON 伺服器
- Python - 谷歌地圖
- Python - RSS Feed
Python - HTTP 客戶端
在 HTTP 協議中,客戶端的請求到達伺服器,並獲取一些資料和元資料(假設這是一個有效的請求)。我們可以使用 Python requests 模組中提供的各種函式來分析伺服器的此響應。以下 Python 程式在客戶端執行,並顯示伺服器傳送的響應結果。
獲取初始響應
在下面的程式中,requests 模組的 get 方法從伺服器獲取資料,並以純文字格式列印。
import requests r = requests.get('https://httpbin.org/') print(r.text)[:200]
執行上述程式後,我們將得到以下輸出:
<!DOCTYPE html > <html lang="en"> <head> <meta charset="UTF-8"> <title>httpbin.org</title> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+
獲取 Session 物件響應
Session 物件允許您在請求之間保持某些引數。它還在 Session 例項發出的所有請求之間保持 Cookie。如果您對同一主機發出多個請求,則底層的 TCP 連線將被重用。
import requests s = requests.Session() s.get('http://httpbin.org/cookies/set/sessioncookie/31251425') r = s.get('http://httpbin.org/cookies') print(r.text)
執行上述程式後,我們將得到以下輸出:
{"cookies":{"sessioncookie":"31251425"}}
處理錯誤
如果由於伺服器處理請求時出現問題而引發某些錯誤,則 Python 程式可以使用如下所示的 timeout 引數優雅地處理引發的異常。程式將等待 timeout 引數定義的值,然後引發超時錯誤。
requests.get('http://github.com', timeout=10.001)
廣告