The requests.patch
function in Python’s requests
module is used to make HTTP PATCH requests. This function is typically used to apply partial modifications to a resource on a server.
Table of Contents
- Introduction
requests.patch
Function Syntax- Examples
- Basic Usage
- Sending Form Data
- Sending JSON Data
- Sending Headers
- Handling JSON Responses
- Real-World Use Case
- Conclusion
Introduction
The requests.patch
function is part of the requests
module, which makes it easy to make HTTP requests in Python. You can use this function to send data to a web server to partially update an existing resource and get responses.
requests.patch Function Syntax
Here’s how you use the requests.patch
function:
import requests
response = requests.patch(url, **kwargs)
Parameters:
url
: The URL for the request.**kwargs
: Optional arguments to customize the request. Common ones include:data
: Dictionary to send in the body of the request as form data.json
: Dictionary to send in the body of the request as JSON.headers
: Dictionary of HTTP headers to send with the request.
Returns:
- A
Response
object containing the server’s response to the HTTP request.
Examples
Basic Usage
Send a simple PATCH request to a URL.
import requests
response = requests.patch('https://jsonplaceholder.typicode.com/posts/1')
print(response.json())
Output:
{'userId': 1, 'id': 1, 'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Sending Form Data
Send form data in the body of a PATCH request.
import requests
data = {'title': 'foo'}
response = requests.patch('https://jsonplaceholder.typicode.com/posts/1', data=data)
print(response.json())
Output:
{'userId': 1, 'id': 1, 'title': 'foo', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Sending JSON Data
Send JSON data in the body of a PATCH request.
import requests
json_data = {'title': 'foo'}
response = requests.patch('https://jsonplaceholder.typicode.com/posts/1', json=json_data)
print(response.json())
Output:
{'userId': 1, 'id': 1, 'title': 'foo', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Sending Headers
Send custom headers with a PATCH request.
import requests
headers = {'Authorization': 'Bearer your_token'}
response = requests.patch('https://jsonplaceholder.typicode.com/posts/1', headers=headers)
print(response.json())
Output:
{'userId': 1, 'id': 1, 'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Handling JSON Responses
Send a PATCH request and parse the JSON response.
import requests
json_data = {'title': 'foo'}
response = requests.patch('https://jsonplaceholder.typicode.com/posts/1', json=json_data)
data = response.json()
print(data)
Output:
{'userId': 1, 'id': 1, 'title': 'foo', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Real-World Use Case
Partially Updating Data on an API
Partially update data on an API that requires authentication.
import requests
url = 'https://jsonplaceholder.typicode.com/posts/1'
headers = {'Authorization': 'Bearer your_token'}
json_data = {'title': 'foo'}
response = requests.patch(url, headers=headers, json=json_data)
data = response.json()
print(data)
Output:
{'userId': 1, 'id': 1, 'title': 'foo', 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
Conclusion
The requests.patch
function is a simple and effective way to make HTTP PATCH requests in Python. You can use it to partially update data on web servers, include custom headers, and handle JSON responses. This function makes it easy to interact with web services and APIs.