Повторение: запись данных
Урок 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А если сомневаешься, направь запрос на прослушивающий сервер и прочитай его обратно.
Задание
Объедините всю главу в один запрос.
- Запустите слушатель захвата на порту 9127
- Отправьте PUT на
http://127.0.0.1:9127/users/3с телом JSON{"role":"admin"}, правильно указав заголовок - Выведите строку запроса, затем строку Content-Type, а затем тело
Ожидаемый вывод:
PUT /users/3 HTTP/1.1
Content-Type: application/json
{"role":"admin"}Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
4Доступен ли он?
ICMP и pingЧтение вывода pingКогда ping вводит в заблуждениеОтказано или превышено время ожиданияПовторение: доступность7Отправка данных
POST с -dЧто на самом деле отправляет -dКодирование формыОтправка JSONPUT и DELETEПовторение: запись данных3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal