Ваш первый запрос
Урок 4 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Хватит теории. Ты будешь обеими сторонами разговора: запустишь сервер, а затем попросишь его о чём-нибудь.
В Python есть небольшой веб-сервер. Укажи ему папку, и он будет обслуживать находящиеся там файлы:
python3 -m http.server 9101 && в конце имеет значение. Он помещает сервер в фоновый режим, чтобы ты снова получил приглашение командной строки. Без него сервер занял бы терминал, и тебе было бы некому вводить запрос.
Теперь сторона клиента. curl — это команда, которая отправляет запрос и выводит ответ:
curl -s http://127.0.0.1:9101/hello.txt-s означает «без вывода». Без него curl выводит индикатор выполнения, который мешает увидеть сам ответ. Привыкай к этому уже сейчас: в этом курсе curl всегда получает -s.
Прочитай этот адрес слева направо. http:// — это язык, на котором ведётся разговор, 127.0.0.1 — компьютер, 9101 — порт, а /hello.txt — то, что запрашивается. В следующих главах мы разберём их по одному.
Задание
ЛегкоБудь обоими концами запроса — от начала до конца.
- Создай файл с именем
hello.txt, содержащий ровноhello from your first server - Запусти веб-сервер Python на порту 9101 в фоновом режиме
- Получи
http://127.0.0.1:9101/hello.txtс помощьюcurl -s
Сервер запускается за долю секунды. Выполни
sleep 1после его запуска, иначе твой запрос может поступить до того, как что-либо начнёт прослушивать порт.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal