Знакомство с протоколом HTTP #
HTTP-приложения #
Презентацию можно посмотреть по ссылке.
Видео-запись на Rutube
HTTP-протокол #
Презентацию можно посмотреть по ссылке.
Видео-запись на Rutube
URI-пути #
Презентацию можно посмотреть по ссылке.
Видео-запись на Rutube
Знакомство с библиотекой http4k #
Презентацию можно посмотреть по ссылке.
Видео-запись на Rutube
Документация #
- Mozilla Developer Network, Изучение веб-разработки
- Mozilla Developer Network, протокол HTTP
- Официальный сайт библиотеки http4k
- Официальная документация на библиотеку http4k
- Быстрый старт при использовании http4k
- Варианты HTTP-клиентов
Задача № 1. Скачивание HTML-документа #
Реализуйте консольное приложение, которое скачивает HTML-документ.
В качестве аргументов приложение получает два аргумента:
- URI-адрес HTML-документа, который необходимо скачать.
- Путь к каталогу, в который необходимо сохранить HTML-документ.
Для реализации приложения необходимо подключить библиотеку http4k-core и выбранную реализацию клиента.
В случае, если клиенту удалось подключиться по указанному URI, то оно должно
сохранить полученный документ по пути ЦЕЛЕВОЙ КАТАЛОГ/ИМЯ ДОМЕНА.html
.
В качестве тестов можно воспользоваться адресами:
Задача № 2. Обработка несуществующего пути #
Доработайте предыдущее приложение, чтобы оно обрабатывало ситуацию, при которой указанный адрес не существует. Для этого после получения ответа сначала необходимо оценить статус ответа. Необходимо сохранять файл только в том случае, если код ответа — от 200 до 299.
В качестве тестов воспользуйтесь следующими адресами:
Задача № 3. Скачивание и обработка JSON-документа #
Скачайте следующий JSON-документ с помощью HTTP-клиента, извлеките из него список треугольников и отобразите статистику.
Сначала необходимо вывести статистику по цветам границы треугольника. Список цветов должен быть отсортирован лексикографически.
Пример вывода:
Статистика по цветам:
* GREEN: 1
* RED: 15
Затем необходимо вывести статистику по длине периметров треугольников по промежуткам: от 0 до 100, от 101 до 200, …, от 2901 до 3000. Гарантирутся, что периметр треугольников не больше 3000. Не надо выводить промежуток, в котором не оказалось треугольников.
JSON-документ доступен по ссылке.