Python Requests Library
Learn Python through interactive, bite-sized lessons. Practice with real code challenges and build projects step-by-step.
Start Python Journey →The Python Requests library is a popular HTTP client library that simplifies the process of making HTTP requests. It provides a user-friendly interface for sending HTTP/1.1 requests and handling responses.
Installation
To install the Requests library, use Python Package Management (pip):
pip install requests
Basic Usage
Here's a simple example of how to use the Requests library to make a GET request:
import requests
response = requests.get('https://api.example.com/data')
print(response.status_code)
print(response.text)
Key Features
- Simple and intuitive API
- Automatic decompression of responses
- Connection pooling for improved performance
- Session support for persistent cookies
- Built-in JSON decoding
Common HTTP Methods
The Requests library supports all common HTTP methods:
requests.get('https://api.example.com/data')
requests.post('https://api.example.com/submit', data={'key': 'value'})
requests.put('https://api.example.com/update', data={'key': 'new_value'})
requests.delete('https://api.example.com/remove')
Handling JSON Data
Working with JSON data is straightforward:
import requests
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
Custom Headers
You can easily add custom headers to your requests:
headers = {'User-Agent': 'MyApp/1.0'}
response = requests.get('https://api.example.com/data', headers=headers)
Error Handling
The Requests library raises exceptions for network-related errors. Use Python Try...Except to handle these gracefully:
import requests
try:
response = requests.get('https://api.example.com/data')
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"An error occurred: {e}")
Sessions
For multiple requests to the same host, use a session to persist certain parameters:
with requests.Session() as session:
session.auth = ('user', 'pass')
response = session.get('https://api.example.com/protected')
Best Practices
- Always check the status code of the response
- Use timeouts to prevent hanging requests
- Implement proper error handling
- Respect rate limits when working with APIs
- Use sessions for multiple requests to the same host
The Python Requests library is an essential tool for web scraping, REST API interactions, and any task involving HTTP requests. Its simplicity and power make it a go-to choice for Python developers working with web services and APIs.