Как в Python requests.post сделать тоже самое, как это делает curl?
Имеется curl образец.
curl --request POST \
--url 'https://api.platforma.md/pbx/accounts/<accountId>/initSession' \
--header 'x-api-key: test_api_key' \
--header 'Content-Type: application/json' \
--data {...}
Как в python requests.post сделать тоже самое?
Пробовал так: объявлял строкой url и словарем оба header:
response = requests.post(url, headers={'x-api-key: test_api_key', 'Content-Type: application/json'}
На это собственно дается мне ответ:
{"message":"Missing Authentication Token"}
Что не верно? Дело двух заголовках? в json? В чем-то еще? (api-key верный, перепроверял)
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Первый способ - json передаем как строку в data=, вручную заполняем Content-Type:
data = '{...}'
headers = {
'x-api-key': 'test_api_key',
'Content-Type': 'application/json',
}
response = requests.post(url, headers=headers, data=data}
Второй способ - data описываем как словарь python, передаем его в json= (Content-Type будет автоматически заполнен нужным типом):
data = {
...
}
headers = {
'x-api-key': 'test_api_key',
}
response = requests.post(url, headers=headers, json=data}