Python 連接重用

Python 連接重用

當客戶端向服務器發(fā)出有效請求時,它們之間將建立一個臨時連接以完成發(fā)送和接收過程。但是在某些情況下,由于正在通信的程序之間需要自動請求和響應,因此需要保持連接狀態(tài)。以一個交互式網(wǎng)頁為例。加載網(wǎng)頁后,需要提交表單數(shù)據(jù)或下載其他CSS和JavaScript組件。需要保持連接狀態(tài)以提高性能,并在客戶端和服務器之間保持不間斷的通信。

Python提供了urllib3模塊,該模塊具有一些方法來處理客戶端和服務器之間的連接重用。在下面的示例中,我們通過在GET請求中傳遞不同的參數(shù)來創(chuàng)建連接并發(fā)出多個請求。我們收到了多個響應,但我們還計算了該過程中已使用的連接數(shù)。如我們所見,連接數(shù)沒有改變,這意味著連接的重用。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
from urllib3 import HTTPConnectionPool
 pool = HTTPConnectionPool('ajax.googleapis.com', maxsize=1)
 r = pool.request('GET', '/ajax/services/search/web',
                  fields={'q': 'python', 'v': '1.0'})
 print 'Response Status:', r.status
 # Header of the response
 print 'Header: ',r.headers['content-type']
 # Content of the response
 print 'Python: ',len(r.data) 
 r = pool.request('GET', '/ajax/services/search/web',
              fields={'q': 'php', 'v': '1.0'})
 # Content of the response 
 print 'php: ',len(r.data) 
 print 'Number of Connections: ',pool.num_connections
 print 'Number of requests: ',pool.num_requests
 

當執(zhí)行上面示例代碼,得到以下結果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Response Status: 200
 Header: text/javascript; charset=utf-8
 Python: 211
 php: 211
 Number of Connections: 1
 Number of requests: 2

下一節(jié):Python 網(wǎng)絡接口

Python 網(wǎng)絡編程

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