Я пытаюсь выполнить команду curl с запросами Python.Насколько я могу судить, я все делаю правильно, но веб-сайт не распознает ключ API независимо от того, как я пытаюсь его включить.По сути, сайт, на который я пытаюсь попасть, хочет, чтобы в начале URL был указан ключ API.Когда я делаю это с curl, он работает отлично.Однако, когда я пытаюсь сделать это через запросы Python, это не работает.Также не работает его отправка в виде пары ключ-значение в словаре.
Это работает
curl -H "Content-Type:application/json" -d '{"ndbno":["11124"],"type":"f"}' [API KEY]@api.nal.usda.gov/ndb/V2/reports
и вот код запроса:
import requests
headers = {'Content-Type': 'application/json',}
data = '{"ndbno":["11124"],"type":"f"}'
response = requests.post('http://[API KEY]@api.nal.usda.gov/ndb/V2/reports', headers=headers, data=data)
Результатом этого является ответ json, содержащий сообщение: "{'error': {'code': 'API_KEY_MISSING', 'message': 'Не указан api_key. Получите один в http://api.nal.usda.gov:80'}}"
Это также не работает, если я удаляю [API KEY] из URL и добавляю его в словарь данных как «api_key»: «[API KEY]»
Кстати, я непередавая ключ в виде списка или чего-то еще, я просто не хотел публиковать физический ключ в своем вопросе.
Я новичок в python и stackoverflow, но я сделал все возможное,и уже несколько часов ищем ответы и тестируем разные способы форматирования запроса.Любая помощь с благодарностью!