Я пытаюсь опубликовать данные, используя python, используя модуль request
, но всегда получаю сообщение об ошибке.Если я использую те же данные для публикации в API, используя postman
, я получаю ответ 201
, что хорошо.Вот код Python:
import requests
json_data = open(config_file)
config_data = json.load(json_data)
json_data.close()
############################
# some code to get health_data
############################
health_data = json.dumps(health_data)
try:
log.error("Posting data to API")
response = requests.post(config_data["API"], data=health_data)
log.error(response.status_code, response.reason)
except Exception as e:
log.error(e)
У меня есть вся конфигурация, сохраненная в файле config.json
.health_data
- это данные, которые я конвертирую в формат json, используя json.dumps
.Когда я отправляю это health_data
в API, я всегда получаю 500. Но если я отправляю тот же health_data
в API, используя postman
, я получаю код ответа 201
, поэтому я думаю, что что-то не так с питономкод.Я думаю, что-то не так с этой строкой:
response = requests.post(config_data["API"], data=health_data)
Я также попытался использовать json
вместо data
, поскольку у меня есть данные JSON, как показано ниже:
response = requests.post(config_data["API"], json=health_data)
Ноэто бросает те же 500 ошибок.
Может кто-нибудь, пожалуйста, укажите мне правильное направление.Большое спасибо.
health_data:
{
"macs": "44ead844c9d1",
"aTime": "2018-08-09T19:04:01Z",
"startTime": "2018-08-09T19:04:01Z",
"stopTime": "2018-08-29T18:19:48Z",
"data1": ["2018-08-09T19:04:02Z : 26.62", "2018-08-09T19:19:02Z : 27.82", "2018-08-29T18:04:19Z : 18.79", "2018-08-29T18:19:48Z : 20.26"],
"data2": ["2018-08-09T19:04:02Z : 63.83", "2018-08-09T19:19:02Z : 59.16", "2018-08-09T19:34:02Z : 58.73", "2018-08-29T18:04:19Z : 100", "2018-08-29T18:19:48Z : 85.51"]
}