Python - Connection Re-use

Vish Purohit

9 months ago

Python - Connection Re-use | Insideaiml
Python - Connection Re-use | Insideaiml
When a client makes a valid request to a server, a temporary connection is established between them to complete the sending and receiving process. But there are scenarios where the connection needs to be kept alive as there is a need for automatic requests and responses between the programs which are communicating. Take for example an interactive webpage. After the webpage is loaded there is a need of submitting a form data or downloading further CSS and JavaScript components. The connection needs to be kept alive for faster performance and unbroken communication between the client and the server.
Python provides the urllib3 module which had methods to take care of connection reuse between a client and a server. In the below example we create a connection and make multiple requests by passing different parameters with the GET request. We receive multiple responses but we also count the number of connection that has been used in the process. As we see the number of connections does not change implying the reuse of the connection.

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)


When we run the above program, we get the following output −

Response Status: 200
Header:  text/javascript; charset=utf-8
Python:  211
php:  211
Number of Connections:  1
Number of requests:  2
To learn more about python, visit the InsideAIML page.
I hope you enjoyed reading this article and finally, you came to know about Python - Connection Re-use.
For more such blogs/courses on data science, machine learning, artificial intelligence and emerging new technologies do visit us at InsideAIML.
Thanks for reading…
Happy Learning…

Submit Review