Also: HttpClient


The API for client-side HTTP communication.

The usual execution flow can be demonstrated by the code snippet below:

HttpClient httpclient = new DefaultHttpClient();

// Prepare a request object
HttpGet httpget = new HttpGet("");

// Execute the request
HttpResponse response = httpclient.execute(httpget);

// Examine the response status

// Get hold of the response entity
HttpEntity entity = response.getEntity();

// If the response does not enclose an entity, there is no need
// to worry about connection release
if (entity != null) {
    InputStream instream = entity.getContent();
    try {

        BufferedReader reader = new BufferedReader(
                new InputStreamReader(instream));
        // do something useful with the response

    } catch (IOException ex) {

        // In case of an IOException the connection will be released
        // back to the connection manager automatically
        throw ex;

    } catch (RuntimeException ex) {

        // In case of an unexpected exception you may want to abort
        // the HTTP request in order to shut down the underlying
        // connection and release it back to the connection manager.
        throw ex;

    } finally {

        // Closing the input stream will trigger connection release



AuthCache Abstract AuthScheme cache. 
AuthenticationHandler /** A handler for determining if an HTTP response represents an authentication challenge that was sent back to the client as a result of authentication failure. 
CookieStore This interface represents an abstract store for Cookie objects. 
CredentialsProvider Abstract credentials provider that maintains a collection of user credentials. 
HttpClient This interface represents only the most basic contract for HTTP request execution. 
HttpRequestRetryHandler A handler for determining if an HttpRequest should be retried after a recoverable exception during execution. 
RedirectHandler This interface is deprecated. use RedirectStrategy  
RedirectStrategy A strategy for determining if an HTTP request should be redirected to a new location in response to an HTTP response received from the target server. 
RequestDirector A client-side request director. 
ResponseHandler<T> Handler that encapsulates the process of generating a response object from a HttpResponse. 
UserTokenHandler A handler for determining if the given execution context is user specific or not. 


CircularRedirectException Signals a circular redirect 
ClientProtocolException Signals an error in the HTTP protocol. 
HttpResponseException Signals a non 2xx HTTP response. 
NonRepeatableRequestException Signals failure to retry the request due to non-repeatable request entity. 
RedirectException Signals violation of HTTP specification caused by an invalid redirect