1. 개요
이 빠른 사용방법(예제)에서는 Apache HttpClient 를 사용하여 HTTP 요청을 취소하는 방법을 보여줍니다 .
이는 대역폭과 연결을 불필요하게 소비하는 잠재적으로 오래 실행되는 요청이나 대용량 다운로드 파일에 특히 유용합니다.
더 깊이 파고들고 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 기반 프로젝트이므로 그대로 가져오고 실행하기 쉬워야 합니다.