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

HttpClient 4 - Отменить запрос

1. обзор

В этом кратком руководстве показано, какcancel a HTTP Request with the Apache HttpClient 4.

Это особенно полезно для потенциально долго выполняющихся запросов или больших файлов загрузки, которые в противном случае излишне потребляли бы пропускную способность и соединения.

Если вы хотите копнуть глубже и узнать о других интересных вещах, которые можно сделать с помощью HttpClient, перейдите кthe main HttpClient tutorial.

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. Заключение

В этой статье показано, как прервать текущий запрос с помощью HTTP-клиента. Другой вариант остановить длительные запросы, если убедиться, что они будутtime out.

Реализация всех этих примеров и фрагментов кодаcan be found in my github project - это проект на основе Eclipse, поэтому его должно быть легко импортировать и запускать как есть.