python requests post xml

Python Requests Post XML

If you are working with RESTful APIs and need to send XML data to the server, then you can easily achieve this goal using the Python Requests library. The Requests library is a powerful and easy-to-use HTTP client for Python, and it allows you to send HTTP requests with ease. To send XML data using the Requests library, all you need to do is:

Step 1: Install Requests Library

First, you need to install the Requests library using pip. Open your terminal (command prompt), and type:

            pip install requests

Step 2: Import Required Libraries

Next, you need to import the Requests and XML libraries in your Python script:

            import requests
            import xml.etree.ElementTree as ET

Step 3: Create XML Data

Then, create your XML data as a string or using the ElementTree API:

            xml_data = '<user><name>John</name><email>[email protected]</email></user>'
            root = ET.Element('user')
            name = ET.SubElement(root, 'name')
            name.text = 'John'
            email = ET.SubElement(root, 'email')
            email.text = '[email protected]'
            xml_data = ET.tostring(root).decode()

Step 4: Send XML Data Using Requests

Finally, use the Requests library to send your XML data to the server:

            url = ''
            headers = {'Content-Type': 'application/xml'}
            response =, data=xml_data, headers=headers)

The code above sends a POST request to the specified URL with the XML data as the request body. The 'Content-Type' header specifies that the request body is in XML format. The response status code is printed to the console.

There are other ways to send XML data using the Requests library, such as using a file object or a dictionary with the ElementTree API. You can find more information about these methods in the Requests library documentation.