python中的 requests xml格式的数据如何作为参数传递
时间: 2024-09-26 14:17:56 浏览: 42
在Python的requests库中,如果你需要将XML数据作为参数传递给服务器,通常的做法是首先将XML转换为字符串形式,然后设置`data`参数。由于requests默认发送的是JSON数据,所以你需要指定`content-type`头信息来告诉服务器这是XML数据。
以下是步骤:
1. 导入必要的库:
```python
import requests
from xml.etree.ElementTree import Element, SubElement, tostring
```
2. 创建一个XML元素或解析现有的XML:
```python
xml_data = """
<root>
<element1>value1</element1>
<element2>value2</element2>
</root>
"""
# 如果xml_data是一个字符串,可以直接使用
# 如果它已经是一个Element对象,则不需要这一行
root = Element('root')
element1 = SubElement(root, 'element1')
element1.text = 'value1'
element2 = SubElement(root, 'element2')
element2.text = 'value2'
# 将XML转为字符串
xml_string = tostring(root, encoding='utf-8').decode()
```
3. 使用requests.post发起POST请求,并指定`data`参数和`Content-Type`头:
```python
url = 'http://example.com/api/endpoint'
headers = {'Content-Type': 'application/xml'}
response = requests.post(url, data=xml_string, headers=headers)
```
阅读全文