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 기반 프로젝트이므로 그대로 가져오고 실행하기 쉬워야 합니다.

HTTPClient footer