Практика на сеть в Rust
В этих задачах потренируем клиент к
удаленному хосту, простой сервер с
маршрутом и текстовый обмен по сокету.
Сеть и код ответа разбирайте через
match.
Дан адрес:
https://example.com
Выполните запрос, прочитайте тело ответа и выведите числовой код ответа вместе с длиной текста.
Дан адрес:
https://example.com/search
Допишите параметр q со значением
"book", выполните запрос и выведите
длину тела или текст ошибки сети.
Дан адрес:
https://example.com
Задайте заголовок accept со
значением "text/plain", прочитайте
тип содержимого из ответа и выведите
его строкой или сообщение об отсутствии.
Дан путь:
/ping
Поднимите сервер на локальном порту,
ответьте на этот путь текстом "pong"
и кодом 200. Проверьте запросом
с клиента и выведите тело.
Дан путь:
/status
На сервере для неизвестного пути верните
код 404 и короткий текст ошибки.
Запросите существующий и отсутствующий
маршрут, выведите оба кода.
Дан адрес:
let addr = "127.0.0.1:7100";
Займите адрес слушателем, дождитесь одного гостя, прочитайте буфер и выведите текст при удачном UTF-8.
Дан адрес:
let addr = "127.0.0.1:7100";
На клиенте отправьте "hi",
прочитайте ответ в буфер и выведите
строку через сопоставление с
from_utf8.
Дан адрес:
https://example.com
Соберите клиент с пределом две секунды, выполните запрос и при успехе выведите числовой код ответа, иначе текст ошибки.