HttpClient 4 - Cancelar solicitação
1. Visão geral
Este tutorial rápido mostra comocancel a HTTP Request with the Apache HttpClient 4.
Isso é especialmente útil para solicitações potencialmente demoradas ou para arquivos de download grandes que, de outra forma, consumiriam desnecessariamente largura de banda e conexões.
Se você quiser se aprofundar e aprender outras coisas legais que você pode fazer com o HttpClient - vá parathe main HttpClient tutorial.
2. Abortar um pedido GET
Para abortar uma solicitação em andamento, o cliente pode simplesmente usar:
request.abort();
Isso garantirá que o cliente não precise consumir todo o corpo da solicitação para liberar a conexão:
@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. Conclusão
Este artigo ilustrou como cancelar uma solicitação em andamento com o cliente HTTP. Outra opção para interromper solicitações de longa execução é ter certeza de que serãotime out.
A implementação de todos esses exemplos e fragmentos de códigocan be found in my github project - este é um projeto baseado no Eclipse, portanto, deve ser fácil de importar e executar como está.