Python - отправьте XML-файл, используя HTTP-запрос Requests, и получите PDF - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь отправить файл XML в API Azure, используя запрос HTTP Post, так что я могу получить преобразованный файл PDF того же XML.

Я использую Python3.6, а модуль запросов .

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 голосов
/ 10 мая 2019

Проблема связана с вашим 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)

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...