Curl xml post to Python3



我正在尝试将Curl命令转换为Python3。但我有问题插入标题行和发送post请求。该命令应该发送post请求并打印格式化的响应。

这是命令语法:

curl -s 'https://api.sandbox.ebay.com/ws/api.dll'
-H 'X-EBAY-API-SITEID: 0'
-H 'X-EBAY-API-COMPATIBILITY-LEVEL: 861'
--data '<?xml version="1.0" encoding="utf-8"?>
<GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
    <LevelLimit>1</LevelLimit>
</GetCategoriesRequest>' | xmllint --format -

这是我在python版本的代码,我缺少数据,我想我需要使用请求。帖子,但我真的有一个糟糕的时间翻译命令。

import requests
url = 'https://api.sandbox.ebay.com/ws/api.dll'
headers = { 'X-EBAY-API-SITEID': '0', 'X-EBAY-API-COMPATIBILITY-LEVEL': '861'}
r = requests.get(url, headers=headers)

您可以使用此代码发送post请求。

import requests
headers = {
    'X-EBAY-API-SITEID': '0',
    'X-EBAY-API-COMPATIBILITY-LEVEL': '861'
}
data = '<?xml version="1.0" encoding="utf-8"?><GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <LevelLimit>1</LevelLimit></GetCategoriesRequest>'
url = 'https://api.sandbox.ebay.com/ws/api.dll'
r = requests.post(url, headers=headers, data=data)
print r.content

最新更新