Menu
Coddy logo textTech

Повторение: запись данных

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

Отправка данных сводится к трём решениям.

Какой метод. -d автоматически делает его POST; -X задаёт любой другой. POST отправляет данные, PUT сохраняет их в указанном месте, DELETE удаляет.

Каким будет тело запроса. -d 'a=1&b=2' — для данных формы, строка JSON — для API. Используй --data-urlencode для любых данных, введённых человеком.

Как его обозначить. curl считает данные закодированными как данные формы, если не указать иное, поэтому для JSON нужен -H 'Content-Type: application/json'. Забыть об этом — самая распространённая ошибка в этой главе.

curl -s -X PUT -H 'Content-Type: application/json' \
     -d '{"role":"admin"}' http://127.0.0.1:9127/users/3

А если сомневаешься, направь запрос на прослушивающий сервер и прочитай его обратно.

challenge icon

Задание

Объедините всю главу в один запрос.

  1. Запустите слушатель захвата на порту 9127
  2. Отправьте PUT на http://127.0.0.1:9127/users/3 с телом JSON {"role":"admin"}, правильно указав заголовок
  3. Выведите строку запроса, затем строку Content-Type, а затем тело

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

PUT /users/3 HTTP/1.1
Content-Type: application/json
{"role":"admin"}

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

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

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

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

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