python requests post content type

Python Requests Post Content Type

Python Requests is a popular Python library that allows you to send HTTP/1.1 requests using Python. It makes it easy to interact with web services, download files, and perform other web-related tasks. One of the most common use cases for Python Requests is sending POST requests to web servers. When sending a POST request, you can specify the content type of the request body using the "Content-Type" header.

Setting the Content-Type Header

To set the "Content-Type" header in a Python Requests POST request, you can use the "headers" parameter:


import requests

url = 'https://example.com/api/create'
data = {'name': 'John Doe', 'email': '[email protected]'}
headers = {'Content-Type': 'application/json'}

response = requests.post(url, json=data, headers=headers)

print(response.status_code)

In this example, we are sending a POST request to "https://example.com/api/create" with a JSON body that contains a name and email. We are specifying that the content type of the request body is JSON using the "Content-Type" header.

Other Content Types

Python Requests supports several other content types out of the box:

  • application/x-www-form-urlencoded: Used for sending form data.
  • multipart/form-data: Used for sending binary data (e.g. file uploads).
  • text/plain: Used for sending plain text.

To set these content types, you can simply change the value of the "Content-Type" header:


import requests

url = 'https://example.com/api/create'
data = {'name': 'John Doe', 'email': '[email protected]'}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}

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

print(response.status_code)

In this example, we are sending form data with the "application/x-www-form-urlencoded" content type.

Conclusion

Python Requests makes it easy to send HTTP/1.1 requests, including POST requests with different content types. By setting the "Content-Type" header, you can specify the type of data you are sending in the request body.