User-Agent
Урок 44 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Каждый запрос сообщает, что его сформировало, в заголовке User-Agent. curl отправляет собственное имя и версию, а браузер — длинную исторически сложившуюся строку.
Это важнее, чем кажется. Серверы регулярно ведут себя по-разному в зависимости от него: показывают мобильную версию, блокируют неизвестных клиентов или отклоняют всё, что выглядит автоматизированным. Поэтому фраза «в моём браузере работает, а в curl — нет» часто объясняется именно этим заголовком, и ничем более глубоким.
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A устанавливает его и является просто сокращённой записью для -H 'User-Agent: ...'.
Если вы отправляете автоматические запросы к сервису, указать честный User-Agent с названием вашего инструмента — хороший тон: если ваш трафик вызовет проблему, дежурный сможет понять, что это такое и к кому обратиться.
Задание
СложноЧестно представьтесь.
- Запустите слушатель захвата на порту 9133
- Сделайте запрос, идентифицирующий себя как
my-monitor/1.0 - Выведите строку user agent из
req.txt
Ожидаемый результат:
User-Agent: my-monitor/1.0Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal