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
  
 

下一節(jié):Python 請求狀態(tài)代碼

Python 網(wǎng)絡(luò)編程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频