Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Python Requests post() Method



The Python Requests post() method is used to send HTTP POST requests to a specified URL. It allows sending data to the server which is typically used for submitting forms or uploading files.

This method accepts parameters like 'url', 'data', 'json', 'headers', 'cookies', 'files' and 'timeout'. With 'data' or 'json' it sends form data or JSON payloads respectively where 'headers' can be used to send custom HTTP headers and 'files' can be used to upload files.

It returns a response object containing details like status code, headers and content by facilitating interaction with web services.

Syntax

Following is the syntax and parameters of Python Requests post() method −

requests.post(url, data=None, json=None, headers=None, params=None, auth=None, timeout=None, verify=None)

Parameters

Following are the parameters of the Python Requests post() method −

  • url: The URL to which the request is sent.
  • data: The body of the request. This can be a dictionary, bytes or a file-like object to send in the body of the request.
  • json: JSON data to send in the body of the request.
  • headers: HTTP headers to send with the request.
  • files: Files to upload with the request.
  • auth: Auth tuple to enable Basic/Digest/Custom HTTP Auth or a custom authentication callable.
  • cookies: Cookies to send with the request.
  • timeout: Timeout for the request.
  • allow_redirects: Determines whether redirects should be followed.
  • proxies: A dictionary mapping protocol to the URL of the proxy.
  • verify: Controls whether SSL certificate verification is enabled.

Return value

This method returns a Response object.

Example 1

Following is the basic example which sends a simple POST request to the specified URL with form data using the python requests post() method −

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the data to be sent in the request body
data = {'key1': 'value1', 'key2': 'value2'}

# Send the POST request with the data
response = requests.post(url, data=data)

# Print the response status code
print('Status Code:', response.status_code)

# Print the response content
print('Response Content:', response.text)

Output

Status Code: 200
Response Content: {
  "args": {},
  -------------
  ------------
  ------------
"json": null,
"origin": "110.226.149.205",
"url": "https://httpbin.org/post"
}

Example 2

The server will receive the POST request with the provided JSON data and the response from the server will be printed including the status code and any response content. Here is the example of it −

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the JSON data to be sent in the request body
json_data = {'key1': 'value1', 'key2': 'value2'}

# Send the POST request with the JSON data
response = requests.post(url, json=json_data)

# Print the response status code
print('Status Code:', response.status_code)

# Print the response content
print('Response Content:', response.text)

Output

Status Code: 200
Response Content: {
  "args": {},
  "data": "{\"key1\": \"value1\", \"key2\": \"value2\"}",
  -------------
  ------------
  ------------
"json": {
    "key1": "value1",
    "key2": "value2"
  },
  "origin": "110.226.149.205",
  "url": "https://httpbin.org/post"
}

Example 3

Here is an example of a POST request with a timeout using the requests module post() method in Python −

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the JSON data to be sent in the request body
json_data = {'key1': 'value1', 'key2': 'value2'}

# Set the timeout for the request (in seconds)
timeout = 5

try:
    # Send the POST request with the JSON data and timeout
    response = requests.post(url, json=json_data, timeout=timeout)

    # Print the response status code
    print('Status Code:', response.status_code)

    # Print the response content
    print('Response Content:', response.text)

except requests.Timeout:
    # Handle timeout error
    print('Timeout Error: Request timed out.')

except requests.RequestException as e:
    # Handle other request exceptions
    print('Request Exception:', e)

Output

Status Code: 200
Response Content: {
  "args": {},
  "data": "{\"key1\": \"value1\", \"key2\": \"value2\"}",
  -------------
  ------------
  ------------
 },
  "origin": "110.226.149.205",
  "url": "https://httpbin.org/post"
}
python_modules.htm
Advertisements