Автор оригинала: Eugen Paraschiv.
1. Обзор
В этом кратком руководстве показано, как отменить HTTP-запрос с помощью Apache HttpClient 4 .
Это особенно полезно для потенциально длительных запросов или больших файлов загрузки, которые в противном случае излишне потребляли бы пропускную способность и соединения.
Если вы хотите копнуть глубже и узнать другие интересные вещи, которые вы можете сделать с помощью HttpClient – перейдите к основному учебнику HttpClient .
2. Прервать запрос GET
Чтобы прервать текущий запрос, клиент может просто использовать:
request.abort();
Это гарантирует, что клиенту не придется использовать весь текст запроса, чтобы освободить соединение:
@Test public void whenRequestIsCanceled_thenCorrect() throws ClientProtocolException, IOException { HttpClient instance = HttpClients.custom().build(); HttpGet request = new HttpGet(SAMPLE_URL); HttpResponse response = instance.execute(request); try { System.out.println(response.getStatusLine()); request.abort(); } finally { response.close(); } }
3. Заключение
В этой статье показано, как прервать текущий запрос с помощью HttpClient. Еще один способ остановить длительные запросы-убедиться, что у них истечет время ожидания .
Реализацию всех этих примеров и фрагментов кода можно найти в моем проекте GitHub – это проект на основе Eclipse, поэтому его должно быть легко импортировать и запускать как есть.