python requests post application/x-www-form-urlencoded

Python Requests Post application/x-www-form-urlencoded

When sending data through HTTP POST request in Python, the application/x-www-form-urlencoded content type is often used. This content type is a standard method for sending form data to the server. In Python, the requests library is commonly used to make HTTP requests.

Using requests.post() Method

The requests.post() method can be used to send a POST request to the server with the form data. To use this method, you need to import the requests library.


import requests

url = 'https://example.com/login'
payload = {'username': 'my_username', 'password': 'my_password'}

response = requests.post(url, data=payload)

print(response.content)

The above code sends a POST request to the given URL with the form data in the payload dictionary. The response object contains the server's response, which can be accessed through various properties like response.content, response.status_code, etc.

Using urllib.parse.urlencode() Method

Another way to send form data with application/x-www-form-urlencoded content type is by using urllib.parse.urlencode() method to encode the data and then passing it as a string in the body of the request.


import urllib.parse
import urllib.request

url = 'https://example.com/login'
data = {'username': 'my_username', 'password': 'my_password'}
data = urllib.parse.urlencode(data).encode()

req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)

print(response.read())

In the above code, the data dictionary is first encoded using urllib.parse.urlencode() method and then passed as bytes in the body of the request using urllib.request.Request() method.