Что на самом деле отправляет -d
Урок 33 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Строка запроса сообщила вам метод. Теперь взгляните на тело, которое является последней частью запроса и находится после пустой строки.
Всё, что вы передали в -d, отправляется буквально. -d 'name=ada' помещает в канал ровно name=ada. Несколько флагов -d объединяются с помощью &, поэтому -d 'a=1' -d 'b=2' отправляет a=1&b=2.
curl также добавляет заголовок Content-Length, подсчитывающий эти байты, поскольку серверу необходимо знать, где заканчивается тело. Вам не нужно вычислять его самостоятельно — это одно из незаметных удобств использования клиента вместо nc.
Чтение тела обратно из канала — самый быстрый способ разрешить любые споры о том, что на самом деле отправляет клиент.
Задание
ЭкспертПрочитайте обратно из сети собственное тело запроса.
- Запустите прослушиватель захвата на порту 9123
- Отправьте два поля
name=adaиrole=engс помощью двух отдельных флагов-d - Выведите последнюю строку файла
req.txt, в которой находится тело запроса
Ожидаемый вывод:
name=ada&role=engПопробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
4Доступен ли он?
ICMP и pingЧтение вывода pingКогда ping вводит в заблуждениеОтказано или превышено время ожиданияПовторение: доступность7Отправка данных
POST с -dЧто на самом деле отправляет -dКодирование формыОтправка JSONPUT и DELETEПовторение: запись данных3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal