
- 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 - 套接字程式設計
- 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) 是一種用於啟用客戶端和伺服器之間通訊的協議。它作為客戶端和伺服器之間的請求-響應協議工作。請求裝置稱為客戶端,傳送響應的裝置稱為伺服器。
urllib 是傳統的 Python 庫,在 Python 程式中用於處理 http 請求。但現在有 urllib3,它比 urllib 做得更多。我們匯入 urllib3 庫來了解 Python 如何使用它來發出 http 請求並接收響應。我們可以透過選擇請求方法來自定義請求型別。
Pip install urllib3
示例
在下面的示例中,我們使用 PoolManager() 物件來處理 http 請求的連線詳細資訊。接下來,我們使用 request() 物件使用 POST 方法發出 http 請求。最後,我們還使用 json 庫以 json 格式列印接收到的值。
import urllib3 import json http = urllib3.PoolManager() r = http.request( 'POST', 'http://httpbin.org/post', fields={'field': 'value'}) print json.loads(r.data.decode('utf-8'))['form']
執行上述程式後,我們將獲得以下輸出 -
{field': value'}
使用查詢的 URL
我們還可以傳遞查詢引數來構建自定義 URL。在下面的示例中,請求方法使用查詢字串中的值來完成 URL,該 URL 可以由 Python 程式中的另一個函式進一步使用。
import requests query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'} req = requests.get('https://pixabay.com/en/photos/', params=query) print(req.url)
執行上述程式後,我們將獲得以下輸出 -
https://pixabay.com/en/photos/?q=river&min_width=800&min_height=600&order=popular
廣告