Menu
Coddy logo textTech

POST с -d

Урок 32 из 47 курса Сетевое взаимодействие в терминале на Coddy.

До сих пор каждый запрос что-то запрашивал. -d, напротив, что-то отправляет:

curl -s -d 'name=ada' http://127.0.0.1:9122/signup

В тот момент, когда вы добавляете этот параметр, происходят две вещи. curl самостоятельно переключает метод с GET на POST и прикрепляет переданные вами данные к телу запроса.

Таким образом, -d — это не просто «добавить данные»: он изменяет тип запроса. Если вам нужен POST вообще без тела, нужно самостоятельно указать -X POST.

GET помещает параметры в URL, где их могут увидеть и записать в журнал все, а POST помещает их в тело. Поэтому формы с паролями используют POST: не потому, что тело зашифровано — это не так, — а потому, что URL оказываются в истории браузера, журналах сервера и заголовках реферера.

challenge icon

Задание

Эксперт

Отправь свой первый POST и прочитай, что получил сервер.

  1. Запусти слушатель захвата на порту 9122 (он отвечает с кодом 200 и записывает запрос в req.txt)
  2. Отправь POST с данными name=ada на http://127.0.0.1:9122/signup
  3. Выведи первую строку из req.txt

Ожидаемый вывод:

POST /signup HTTP/1.1

Укажи для curl --max-time 3, чтобы он не ждал бесконечно, и отбрось его вывод.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Сетевое взаимодействие в терминале

Потренируйтесь самостоятельно: Песочница Terminal