我正在尝试将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