Как посмотреть post запрос
Перейти к содержимому

Как посмотреть post запрос

  • автор:

Как проверить HTTP-запрос типа POST, если серверного скрипта пока нет?

При нажатии на кнопку наблюдаю в девтулзах (на вкладке «Сеть») отправление запроса типа GET (!). Прошу помочь разобраться — почему. И — есть ли способ посмотреть тело запроса типа POST, не имея серверного скрипта. Предполагаю, что всё дело в значении атрибута «action», но — повторюсь — бэкенда пока нет. А запрос проверить очень нужно.

Отслеживать
задан 15 дек 2020 в 8:14
11 2 2 бронзовых знака

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Апач при POST-запросе на URL папки без конечного слеша, перенаправляет на URL со слешем и при этом запрос трансформируется в GET. Если же слеш поставить, то эффект пропадает.

Вывод: В action формы ставьте всегда слеш в конце URL папки, а лучше используйте URL файла.

Отслеживать
ответ дан 15 дек 2020 в 8:26
71 10 10 бронзовых знаков

Да, я это читал, спасибо. Проблема в том, что скрипта, принимающего запрос, у меня нет. Можно ли как-то без скрипта добится, чтобы «POST» был именно «POST»? Может фиктивные или тренировочные сервера есть какие-нибудь? Чей адрес я мог бы просто для эксперимента поставить?

HTTP-запросы в браузере — HTTP API

Проще всего увидеть использование HTTP API прямо в браузере. Для удобства разработки и тестирования браузеры включают в себя панель разработчика — с ее помощью можно полностью проанализировать страницу, процессы, происходящие внутри и HTTP-запросы.

В этом уроке мы обсудим, как работать с этой панелью и узнавать полезную информацию.

Чтобы открыть панель разработчика у себя в браузере, воспользуйтесь статьей . В этом курсе мы будем пользоваться панелью браузера Chrome:

Остальные браузеры работают почти идентично, поэтому будет несложно повторять то же самое в других браузерах.

Chrome DevTools

Здесь нас интересует вкладка Network. На ней отображаются все запросы, которые выполняет браузер в процессе загрузки страницы. Также здесь показаны картинки, шрифты, файлы стилей, JavaScript и HTML самой страницы:

На каждый из загружаемых ресурсов можно нажать. Появится еще несколько вкладок с информацией, какой HTTP-запрос был отправлен и какой HTTP-ответ был получен. Здесь можно увидеть все заголовки и превью загруженного ресурса:

В этой же вкладке появляются запросы к HTTP API, которые выполняются на странице, использующей API.

Чтобы отделить запросы к HTTP API от всего остального, на вкладке Network нужно нажать кнопку Fetch/XHR. Тогда в списке загружаемых ресурсов останутся ресурсы с типом xhr. Это и есть запросы к HTTP API.

Возьмем для примера форму входа. Когда пользователь авторизуется на сайте, то сайт выполняет запрос (или несколько запросов) к API. Можете самостоятельно проверить, как это работает:

  1. Перейдите на сайт https://frontend-chat-ru.hexlet.app/
  2. Откройте панель разработчика, перейдите на вкладку Network и нажмите Fetch/XHR
  3. Введите данные для входа: имя admin и пароль admin

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Как просмотреть содержание POST запроса в Chrome?

Стоит задача рассылки спама на форуме invisionboard в ЛС.

Уже готов список ников, но форум не пропускает больше 6 ников за раз.

Я хочу отправить тестовое сообщение самому себе и посмотреть, какой формируется запрос, чтобы потом запустить его n тысяч раз через скрипт на питоне.

Как мне увидеть body отправляемого запроса?

  • Вопрос задан более трёх лет назад
  • 52260 просмотров

Комментировать
Решения вопроса 1

Зайти в консоль разработчика, выбрать вкладку Network, поставить галочку Preverse log, отправить сообщение и смотреть результат.

Обрабатываем POST-запросы в PHP

loader

Итак, в прошлом уроке мы вспоминали о том, как происходит работа пользователя с сайтом. Их общение происходит в форме запрос-ответ. Пользователь отправляет в запросе какие-то данные, а сервер возвращает какой-либо ответ, в зависимости от этих данных.

В предыдущем уроке мы научились работать с GET-запросами. Как мы помним, при этом способе данные передаются на сервер с помощью параметров в адресной строке. Такое бывает удобно, когда нам нужно поделиться ссылкой в которой эти параметры нужны. Например, у нас спрашивают, где в Москве купить шкаф. И мы скидываем человеку ссылку на поиск в Яндексе:
https://yandex.ru/search/?text=шкаф%20в%20москве%20купить

Он переходит по ней и прекрасно себя чувствует, потому что всё уже введено за него.

Однако, параметры в адресной строке – это не всегда уместно. Например, когда в параметрах содержится какая-то конфиденциальная информация: пароль, пин-код. И любой мимо проходящий человек может её увидеть. Как в такой ситуации быть? Использовать POST-запросы!

  • Привет, мир!
  • Развернуть строку
  • Чётные числа
  • Числа Фибоначчи

Что это такое? Да всё тот же запрос от клиента к серверу, только параметры передаются внутри тела запроса, а не в адресной строке. И увидеть их просто так не получится.

Что за тело запроса? Ну, это просто данные, которые передаются на сервер. При этом они скрыты от лишних глаз.

Чтобы отправить POST-запрос нужно в HTML-форме задать для атрибута method значение POST.

  • Курс HTML для начинающих
  • Курс PHP для начинающих
  • Курс MySQL для начинающих
  • Курс ООП в PHP
  Форма входа    Логин 
Пароль

Данные, отправленные с помощью POST-запроса доступны в PHP в суперглобальном массиве $_POST.

Давайте выведем переданные скриптом выше значения login и password. Для этого в файл login.php положим следующий код:

   Обработка POST-запроса   

Переданный login:
Переданный password:

Результат POST-запроса

Откройте теперь форму, введите в неё значения и нажмите кнопку «Войти».
Вы увидите введенные вами в форме данные, при этом они будут отсутствовать в адресной строке. Вуаля! Теперь никто не подсмотрит ваш пароль в адресной строке.

Как увидеть тело POST-запроса

Панель разработчика в Google Chrome

Чтобы увидеть данные POST-запроса в браузере, в Google Chrome нужно перейти в режим разработчика. Нажмите клавишу F12, находясь в окне браузера. После этого вы увидите панель разработчика.

Перейдите во вкладку Network, а затем установите галочку напротив пункта Preserve log.

Форма отправки POST-запроса

Теперь вернитесь на форму, и снова введите данные, после чего нажмите на кнопку «Войти».

POST-запрос в списке

Одновременно с тем, как вы нажмете на кнопку входа, вы увидите в панели разработчика запрос на login.php.

Исходный код вернувшейся страницы

Нажмите на него, и справа откроются детали запроса. По умолчанию открывается исходный код ответа. Здесь можно увидеть то, что было сгенерировано с помощью PHP и отправлено веб-сервером в браузер.

Тело POST-запроса

Нас здесь интересует вкладка Headers. Перейдите в неё, и прокрутите содержимое в самый низ. Здесь вы увидите те данные, что браузер отправил на сервер.

Заключение

Вот так и работают POST-запросы под капотом. Используют их всегда, когда не нужно отображать детали запроса в адресной строке. Хорошие примеры: форма авторизации, ввод данных о кредитной карте. Такими данными лучше в адресной строке не светить.

А сейчас — немного нестандартное домашнее задание =)

Если этот урок был вам полезен, расскажите об этом курсе своим знакомым или поделитесь на него ссылкой в социальных сетях.

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

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