Перейти к основному содержимому

Apache HttpClient — отменить запрос

· 1 мин. чтения

1. Обзор

В этом кратком руководстве показано, как отменить HTTP-запрос с помощью Apache HttpClient .

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

Если вы хотите копнуть глубже и узнать о других интересных вещах, которые можно делать с помощью 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. Заключение

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

Реализацию всех этих примеров и фрагментов кода можно найти в моем проекте GitHub — это проект на основе Eclipse, поэтому его легко импортировать и запускать как есть.