#python #json #python-requests #postman
#python #json #python-запросы #postman
Вопрос:
Я пытаюсь вызвать веб-сервис. Я получаю разные результаты при вызове из Postman и из скрипта Python.
Вот скрипт python:
url = 'https://api.dinero.dk/v1/257403/contacts'
payload="{rn'Name': 'Lars5',rn'Street': 'Præsteager 5',rn'ZipCode': '8200',rn'City': 'Aarhus N',rn'CountryKey': 'DK',rn'Phone': ' 45 12 34 56 78',rn'Email': 'test1@test.com'rn}"
headers = {'Content-Type': 'application/json','Authorization': 'Bearer ' token}
response = requests.request('POST', url, headers=headers, data=payload)
Он возвращает статус 500
Если я сделаю то же самое в Postman:
Затем я получаю статус 201.
В чем разница?
Комментарии:
1. Для начала у вас есть 13 заголовков в postman, но 2 в запросе Python
2. Вы можете сгенерировать код Python из запроса в postman. Он будет использоваться
urllib
, но это лучшее место для начала, чем 2 плохо обрезанных скриншота3. Извините, я должен был ответить на это. Код python берется из генератора кода postman.
Ответ №1:
в postman у вас неправильный формат json, вы должны использовать двойные кавычки вместо одинарных кавычек для json , в json нет одинарных кавычек, а в postman он выделен правильно с синтаксической ошибкой.
Вы выбрали json из выпадающего списка raw body?
замените одинарные кавычки двойными кавычками для тела, что устранит половину проблем