#request #http-post #microsoft-edge
#запрос #http-post #microsoft-edge
Вопрос:
я изучаю Python и на данный момент экспериментирую с модулем запроса.
Что я сделал до сих пор:
Это документация API для конечной точки, которую я использовал:
https://trackapi.nutritionix.com/docs/#/default/post_v2_natural_exercise
И это связанный код Python:
EXERCISES_ENDPOINT = "https://trackapi.nutritionix.com/v2/natural/exercise"
header = {
"x-app-id": APP_ID,
"x-app-key": API_KEY
}
body = {
"query": "Ran 2 miles and walked for 3Km."
}
response = requests.post(url=EXERCISES_ENDPOINT, headers=header, json=body)
Соответствующий URL-адрес HTTP-запроса должен быть:
https://trackapi.nutritionix.com/v2/natural/exercise ?Пробежал 2 миль и прошел до 3 км.
Моя проблема заключается в следующем:
- В Python код работает отлично, и мой ответ соответствует ожиданиям
- Если я использую Postman, это тоже работает нормально, потому что и в Python, и в Postman я могу указать свой запрос как метод POST
- Но если я использую URL-адрес в своем браузере MS Edge (и Chrome тоже), я получаю сообщение об ошибке: не удается ПОЛУЧИТЬ /v2/natural/exercise
Информация заголовка в порядке, потому что я сообщил браузеру их для расширения «ModHeader».
Но почему мой браузер выполняет GET, а не POST, и как я могу изменить это с помощью инструментов разработчика из браузера MS Edge.
Важно для моего обучения знать, почему браузер выполняет GET?? Может ли браузер выполнять GET только в общем случае, а другие методы (POST, PUT, DELETE) таким образом невозможны. Но для меня это не имеет смысла 🙂
Заранее большое спасибо
Ответ №1:
Но почему мой браузер выполняет GET, а не POST
Предположительно, потому, что вы пытаетесь ввести адрес в адресную строку браузера.
Это предназначено для выполнения запроса GET, потому что в пользовательском интерфейсе нет ничего, предназначенного для сбора каких-либо данных, необходимых для создания другого типа запроса.
Обычный способ сделать POST — запрос — предоставить для него пользовательский интерфейс в виде HTML <form>
— кода .
Комментарии:
1. Так что в моем случае это действительно лучший способ использовать Postman.. Спасибо, спасибо. Я думал, что в инструментах разработчика браузера есть способ изменить запрос и отправить его снова, это невозможно? В разделе «Сеть» есть способ просмотреть запрос и его детали, но не способ его изменить.
2. Вкладка Сеть предназначена для того, чтобы вы могли видеть, какие запросы вы сделали, чтобы вы могли их отлаживать, ее нет как общего клиента REST.