Рубрики
Без рубрики

HttpClient 4 – Запрос на отмену

Остановите/прервите длительные запросы с помощью Apache HttpClient 4.x.

Автор оригинала: 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, поэтому его должно быть легко импортировать и запускать как есть.