Python 自定義HTTP請求
Python 自定義HTTP請求
超文本傳輸協(xié)議(HTTP)是用于啟用客戶端和服務(wù)器之間的通信的協(xié)議。它用作客戶端和服務(wù)器之間的請求-響應(yīng)協(xié)議。請求設(shè)備稱為客戶端,發(fā)送響應(yīng)的設(shè)備稱為服務(wù)器。
urllib是傳統(tǒng)的python庫,在python程序中用于處理http請求。但是現(xiàn)在有了urllib3,它的功能比urllib過去的要多。我們導(dǎo)入urllib3庫,以查看python如何使用它來發(fā)出http請求并接收響應(yīng)??梢酝ㄟ^選擇請求方法來自定義請求的類型。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # Date : 2020-08-25 pip install urllib3
示例
在下面的示例中,我們使用PoolManager()對象來處理http請求的連接詳細信息。接下來使用request()對象通過POST方法發(fā)出一個http請求。最后,還使用json庫以json格式打印接收到的值。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # 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
還可以傳遞查詢參數(shù)來構(gòu)建自定義URL。在下面的示例中,request方法使用查詢字符串中的值來完成URL,該URL可以被python程序中的另一個函數(shù)進一步使用。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # 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)
執(zhí)行上面示例代碼,得到以下結(jié)果:
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # Date : 2020-08-25 https://xxxx.com/en/photos/?q=river&min_width=800&min_height=600&order=popular
相關(guān)文章
- Python中find函數(shù)如何使用
- Python異步怎么使用等待有時間限制協(xié)程
- Python異步之在Asyncio中怎么運行阻塞任務(wù)
- Python異步之上下文管理器怎么使用
- Python中Matplotlib圖像如何添加標(biāo)簽
- Python如何利用手勢識別實現(xiàn)貪吃蛇游戲
- Python 開發(fā)環(huán)境
- Python 路由
- Python HTTP請求
- Python 請求狀態(tài)代碼
- Python 網(wǎng)絡(luò)接口
- Python Socket程序
- Python 電子郵件
- Python SSH
- Python 線程
- Python 線程并發(fā)
- Python 同步線程
- Python 調(diào)試線程應(yīng)用程序
- Python 線程池
- Python 多處理器