HttpClient 4 - Anforderung abbrechen

HttpClient 4 - Anfrage abbrechen

1. Überblick

Dieses kurze Tutorial zeigt, wie mancancel a HTTP Request with the Apache HttpClient 4 macht.

Dies ist besonders nützlich für möglicherweise lange laufende Anforderungen oder große Download-Dateien, die andernfalls unnötig Bandbreite und Verbindungen verbrauchen würden.

Wenn Sie tiefer graben und andere coole Dinge lernen möchten, die Sie mit dem HttpClient tun können, gehen Sie zuthe main HttpClient tutorial.

2. Brechen Sie eine GET-Anfrage ab

Um eine laufende Anfrage abzubrechen, kann der Client einfach Folgendes verwenden:

request.abort();

Dadurch wird sichergestellt, dass der Client nicht den gesamten Text der Anforderung verbrauchen muss, um die Verbindung freizugeben:

@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. Fazit

Dieser Artikel veranschaulicht, wie eine laufende Anforderung mit dem HTTP-Client abgebrochen wird. Eine weitere Option, um lang laufende Anforderungen zu stoppen, wenn sichergestellt werden soll, dass sietime out sind.

Die Implementierung all dieser Beispiele und Codefragmentecan be found in my github project - dies ist ein Eclipse-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.