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