/
on-line-javalex
/
HW_HTTP
Обзор
Документация
Войти
/
on-line-javalex
/
HW_HTTP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Main.java
59 строк
2 KB
on-line-javalex
upload files
17 фев 2026, 23:53
Верифицирован
17 фев 2026, 23:53
da07581
Код
Авторство
О чём код?
package ru.netology; import ru.netology.CatsFacts; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { try (CloseableHttpClient httpClient = HttpClientBuilder.create() .setDefaultRequestConfig(RequestConfig.custom() .setConnectTimeout(5000) .setSocketTimeout(30000) .setRedirectsEnabled(false) .build()) .build()) { HttpGet request = new HttpGet("https://raw.githubusercontent.com/netology-code/jd-homeworks/master/http/task1/cats"); try (CloseableHttpResponse response = httpClient.execute(request)) { int statusCode = response.getStatusLine().getStatusCode(); if (statusCode != 200) { System.out.println("Ошибка запроса: код " + statusCode); return; } ObjectMapper mapper = new ObjectMapper(); List<CatsFacts> facts = mapper.readValue( response.getEntity().getContent(), new TypeReference<List<CatsFacts>>() {} ); List<CatsFacts> filteredFacts = facts.stream() .filter(fact -> fact.getUpvotes() != null && fact.getUpvotes() > 0) .collect(Collectors.toList()); System.out.println("Факты о кошках с голосами (upvotes > 0):"); if (filteredFacts.isEmpty()) { System.out.println("Таких фактов нет."); } else { filteredFacts.forEach(System.out::println); } } } catch (IOException e) { System.err.println("Ошибка при выполнении запроса или обработке данных:"); e.printStackTrace(); } } }