Перейти к содержимому

Как отправить post запрос из браузера

  • автор:

Создание и отправка запросов веб-API с помощью средства сетевой консоли

Используйте средство сетевой консоли для отправки запросов веб-API. Например, используйте средство сетевой консоли при разработке и тестировании веб-API.

Чтобы проверить URL-адрес, выполните приведенные далее действия.

  1. Чтобы открыть средства разработки, щелкните веб-страницу правой кнопкой мыши и выберите пункт Проверить. Или нажмите клавиши CTRL+SHIFT+I (Windows, Linux) или COMMAND+OPTION+I (macOS).
  2. На панели инструментов main нажмите кнопку Дополнительные инструменты (значок другие инструменты) и выберите Пункт Сетевая консоль. Откроется средство «Сетевая консоль»: Средство сетевой консоли
  3. Щелкните Создать запрос.
  4. Нажмите кнопку Скрыть навигатор сетевой консоли (значок , чтобы получить больше места.
  5. В текстовом поле Запрос без названия введите URL-адрес для проверки, например: https://microsoftedge.github.io/Demos/devtools-a11y-testing/
  6. В раскрывающемся списке GET выберите метод REST, например GET, который используется по умолчанию. К методам REST относятся:
    • GET
    • HEAD
    • POST
    • PUT
    • PATCH
    • DELETE
    • ПАРАМЕТРЫ
  7. При необходимости в разделе Запрос введите пары «ключ-значение» в текстовых полях «Ключ » и «Значение «, например ИДЕНТИФИКАТОР и 123: Ввод пар Вычисленный URL-адрес обновляется по мере ввода пар «ключ-значение».
  8. Нажмите кнопку Отправить . В нижней части средства «Сетевая консоль» отображаются следующие вкладки:
    • Предварительный просмотр
    • Основной текст
    • Заголовка
    • Файлы cookie

Открытие средства «Сетевая консоль» в средстве «Сеть»

Чтобы получить доступ к средству «Сетевая консоль» , начните с средства «Сеть» , выполните следующие действия.

  1. Чтобы открыть средства разработки, щелкните веб-страницу правой кнопкой мыши и выберите пункт Проверить. Или нажмите клавиши CTRL+SHIFT+I (Windows, Linux) или COMMAND+OPTION+I (macOS).
  2. На панели инструментов main выберите вкладку Сеть (значок средства сети). Если эта вкладка не отображается, нажмите кнопку Другие инструменты (значок ) и выберите Сеть.
  3. Обновите веб-страницу. Средство «Сеть» отображает ресурсы, используемые для создания веб-страницы.
  4. Щелкните правой кнопкой мыши сетевой запрос, который нужно изменить и повторно отправить, а затем выберите Изменить и повторно отправить: Щелкните правой кнопкой мыши ресурс для веб-страницы, чтобы выбрать Средство «Сетевая консоль» откроется на панели Быстрого просмотра в нижней части devTools.
  5. Нажмите кнопку Скрыть навигатор сетевой консоли (значок , чтобы получить больше места.
  6. Измените сведения о сетевом запросе и нажмите кнопку Отправить : Изменение сетевого запроса и нажатие кнопки

Сохранение и экспорт коллекций, сред и переменных среды

  • Сохранение и экспорт коллекций.
  • Сохранение и экспорт сред.
  • Изменение и экспорт наборов переменных среды.

Чтобы определить и сохранить новую среду, выполните следующие действия:

  1. В средствах разработки в средстве сетевой консоли убедитесь, что отображается левая часть средства навигатора. При необходимости нажмите кнопку Показать навигатор сетевой консоли ( значок
  2. В разделе Среды нажмите кнопку Создать (новый значок).
  3. В появившемся текстовом поле введите имя новой среды: Ввод имени для новой среды
  4. Выберите формат для новой среды:
    • Сетевая консоль — поддерживает несколько сред в одном файле.
    • Postman — поддерживает одну среду для каждого файла, но работает с Postman.

Выбор формата для новой среды

Средство сетевой консоли совместимо со схемами Postman версии 2.1 и OpenAPI версии 2 .

  • Сохранение и экспорт с помощью сетевой консоли в новых возможностях в средствах разработки (Microsoft Edge 87)
  • Postman.com — платформа для создания и тестирования API.

См. также

Как в консоли браузера отправить post запрос?

Hecc

javascript

  • JavaScript

Как вставить инлайновый скрипт на DOM веб страницы при разработке расширения для гугл хром?

  • 1 подписчик
  • 4 часа назад
  • 60 просмотров

Отправить POST запрос с данные формы (), используя requests

С помощью Chrome -> F12 -> Networks узнал что посылает POST запрос на сервер. Сайт генерит код «user-registration-login-nonce». При попытке войти на сайт, используя requests, не могу войти. Если же вхожу в браузер, добываю собственно код вручную , и шлю его в теле (data) POST запоса, то все работает. Вопрос: Можно ли как то получить этот код без браузера? Или сымитировать браузер через python3 (от количества header-ов ничего не меняется, проверил), чтобы сайт выдал этот код. Может можно как то добыть код, используя requests.Session() , но тогда объясните как. Вот собственно то, что посылает POST:

username: password: user-registration-login-nonce: 951eaa1c33 #  

Отслеживать
76.9k 6 6 золотых знаков 56 56 серебряных знаков 123 123 бронзовых знака
задан 26 мая 2020 в 10:38
Vektor Valentine Vektor Valentine
389 1 1 серебряный знак 8 8 бронзовых знаков

Наверное, значение с user-registration-login-nonce сервер на странице размещает в каком-нибудь input с hidden , т.е. загрузите страницу и поищите там значение. Если так и есть, то нужно попарсить сайт, например через bs4 , чтобы вытащить нужные значения, что в POST передавать. А так, если для парсинга нужно делать несколько действий, то имеет смысл работать с requests.Session() -- тот, например, куки может запомнить и передавать в следующих запросах. Или используйте selenium, но он медленнее работает, зато с ним удобнее

26 мая 2020 в 10:49
Спасибо, ща попробую.
26 мая 2020 в 15:39
Огромное спасибо тебе! Все работает.
26 мая 2020 в 18:45
Круто, сделайте, пожалуйста, ответ, в котором покажите как смогли разобраться с этим 🙂
27 мая 2020 в 7:48

@gil9red Спасибо Вам еще раз. Ответ оставил. _P.S. Сейчас я понимаю, что оглавление вопроса в корне не верно. Я не имитирую браузер. Я просто извлекаю co страницы данные, которые сервер требует в форме запроса. Вот, тепер не знаю как оглавить вопрос так, чтобы его нашли те, кто не понимают, как и я раньше.

Отправка POST-запроса в JavaScript как отправка формы

Когда будет речь о перенаправлении браузера на другую страницу, одним из распространенных способов является использование GET-запроса. Он выглядит примерно так:

document.location.href = 'http://example.com/q=a';

Однако, в некоторых случаях, ресурс, к которому происходит обращение, может корректно отвечать только на POST-запросы. Если мы не генерируем такой запрос динамически, то можем использовать HTML-форму следующего вида:

А затем просто отправить эту форму из DOM. Но что если мы хотим использовать JavaScript для отправки такого запроса? Как выглядит код, который позволяет выполнить что-то вроде этого:

post_to_url('http://example.com/', );

Нужно учесть, что требуется решение, которое изменяет текущий URL браузера, аналогично отправке формы. Если это возможно с использованием XMLHttpRequest, то это не очевидно. Это не должно быть асинхронным и использовать XML, поэтому Ajax здесь не подходит.

Лучший кросс-браузерный подход предполагает создание формы с помощью JavaScript, добавление ее в DOM, а затем ее отправку. Вот как это выглядит:

function post_to_url(path, params) < var form = document.createElement('form'); form.method = 'POST'; form.action = path; for(let key in params) < if(params.hasOwnProperty(key)) < var hiddenField = document.createElement('input'); hiddenField.type = 'hidden'; hiddenField.name = key; hiddenField.value = params[key]; form.appendChild(hiddenField); >> document.body.appendChild(form); form.submit(); >

В этом коде создается новая форма с указанным путем и методом POST. Затем, для каждого ключа в переданном параметре, создается новое скрытое поле ввода и добавляется в форму. После этого форма добавляется в тело документа и отправляется. Именно так можно реализовать POST-запрос, похожий на отправку формы, с использованием JavaScript.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *