Python-使用“请求HTTP发布”发送.xml文件,并接收PDF

时间:2019-05-10 09:10:45

标签: python xml python-3.x pdf python-requests

我正在尝试使用HTTP Post请求将XML文件发送到Azure API, 这样我就可以接收到转换后的相同XML的PDF文件。

我正在使用Python3.6和 requests 模块。

import requests

request_api = 'https://myapi.azure.net/api/stackoverflowrules'
upload_file = {'file': open('single.xml', 'rb')}
r = requests.post(request_api, files=upload_file)

print(r.text)

问题是我得到: 状态码:500

Error: {"Message":"An error has occurred."}

错误消息不是很有帮助,我不知道问题出在哪里。

我尝试过:

  • 添加证书
  • 在发布请求中设置verify=False
  • 在标题中添加application/xml
  • 在标题中添加application/octate-stream

该API经过测试,可以在通过邮递员发送数据时使用。

1 个答案:

答案 0 :(得分:0)

问题与您的upload_file有关。 'file'。我建议尝试以下代码:

import requests

request_api = 'https://myapi.azure.net/api/stackoverflowrules'
upload_file = {'file': (None, open('single.xml', 'rb'))}
r = requests.post(request_api, files=upload_file)

print(r.text)

希望这会有所帮助