Save This Page
Home » httpcomponents-client-4.0.1-src » org.apache » http » client » [javadoc | source]
org.apache.http.client
public interface: HttpClient [javadoc | source]

All Known Implementing Classes:
    AbstractHttpClient, DefaultHttpClient

This interface represents only the most basic contract for HTTP request execution. It imposes no restrictions or particular details on the request execution process and leaves the specifics of state management, authentication and redirect handling up to individual implementations. This should make it easier to decorate the interface with additional functionality such as response content caching.

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

HttpClient httpclient = new DefaultHttpClient();

// Prepare a request object
HttpGet httpget = new HttpGet("http://www.apache.org/"); 

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

// Examine the response status
System.out.println(response.getStatusLine());

// 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
        System.out.println(reader.readLine());
        
    } 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.
        httpget.abort();
        throw ex;
        
    } finally {

        // Closing the input stream will trigger connection release
        instream.close();
        
    }
    
    // When HttpClient instance is no longer needed, 
    // shut down the connection manager to ensure
    // immediate deallocation of all system resources
    httpclient.getConnectionManager().shutdown();        
}
Method from org.apache.http.client.HttpClient Summary:
execute,   execute,   execute,   execute,   execute,   execute,   execute,   execute,   getConnectionManager,   getParams
Method from org.apache.http.client.HttpClient Detail:
 public HttpResponse execute(HttpUriRequest request) throws IOException, ClientProtocolException
    Executes a request using the default context.
 public HttpResponse execute(HttpUriRequest request,
    HttpContext context) throws IOException, ClientProtocolException
    Executes a request using the given context. The route to the target will be determined by the HTTP client.
 public HttpResponse execute(HttpHost target,
    HttpRequest request) throws IOException, ClientProtocolException
    Executes a request to the target using the default context.
 public T execute(HttpUriRequest request,
    ResponseHandler<? extends T> responseHandler) throws IOException, ClientProtocolException
    Executes a request using the default context and processes the response using the given response handler.
 public HttpResponse execute(HttpHost target,
    HttpRequest request,
    HttpContext context) throws IOException, ClientProtocolException
    Executes a request to the target using the given context.
 public T execute(HttpUriRequest request,
    ResponseHandler<? extends T> responseHandler,
    HttpContext context) throws IOException, ClientProtocolException
    Executes a request using the given context and processes the response using the given response handler.
 public T execute(HttpHost target,
    HttpRequest request,
    ResponseHandler<? extends T> responseHandler) throws IOException, ClientProtocolException
    Executes a request to the target using the default context and processes the response using the given response handler.
 public T execute(HttpHost target,
    HttpRequest request,
    ResponseHandler<? extends T> responseHandler,
    HttpContext context) throws IOException, ClientProtocolException
    Executes a request to the target using the given context and processes the response using the given response handler.
 public ClientConnectionManager getConnectionManager()
    Obtains the connection manager used by this client.
 public HttpParams getParams()
    Obtains the parameters for this client. These parameters will become defaults for all requests being executed with this client, and for the parameters of dependent objects in this client.