All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.commons.httpclient.package.html Maven / Gradle / Ivy

The newest version!


   
      Package Documentation for org.apache.commons.httpclient
      
   
   
      

Classes and interfaces supporting the client side of the HTTP protocol.

The HttpClient component supports the client-side of RFC 1945 (HTTP/1.0) and RFC 2616 (HTTP/1.1), several related specifications (RFC 2109 (Cookies), RFC 2617 (HTTP Authentication), etc.), and provides a framework by which new request types (methods) or HTTP extensions can can be easily created or supported.

The basis for the abstraction is provided by three types:

    {@link org.apache.commons.httpclient.HttpConnection}
    represents a network connection to some HTTP host.
    {@link org.apache.commons.httpclient.HttpMethod}
    represents a request to be made over some {@link org.apache.commons.httpclient.HttpConnection} and contains the server's response.
    {@link org.apache.commons.httpclient.HttpState}
    contains the HTTP attributes that may persist from request to request, such as cookies and authentication credentials.

and several simple bean-style classes:

    {@link org.apache.commons.httpclient.Cookie}
    represents HTTP cookie.
    {@link org.apache.commons.httpclient.Credentials}
    an interface representing a set of authentication credentials.
    {@link org.apache.commons.httpclient.Header}
    represents an HTTP request or response header.
    {@link org.apache.commons.httpclient.HeaderElement}
    represents a single element of a multi-part header.
    {@link org.apache.commons.httpclient.UsernamePasswordCredentials}
    a username and password pair.

{@link org.apache.commons.httpclient.HttpClient} provides a simple "user-agent" implementation that will suffice for many applications, but whose use is not required.

HttpClient also provides several utilities that may be useful when extending the framework:

    {@link org.apache.commons.httpclient.HttpMethodBase}
    an abstract base implementation of HttpMethod, which may be extended to create new method types or to support additional protocol HTTP features.
    {@link org.apache.commons.httpclient.HttpStatus}
    an enumeration of HttpStatus codes.
    {@link org.apache.commons.httpclient.ChunkedOutputStream}
    an {@link java.io.OutputStream} wrapper supporting the "chunked" transfer encoding.
    {@link org.apache.commons.httpclient.ChunkedInputStream}
    an {@link java.io.InputStream} wrapper supporting the "chunked" transfer encoding.
    {@link org.apache.commons.httpclient.util.URIUtil}
    provides utilities for encoding and decoding URI's in the %HH format.

HttpClient Configuration with Java Properties

Java properties can be set at run time with the -Dname=value command line arguments to the application that uses HttpClient. These properties can also be set programaticly by calling System.getProperties().setProperty(name, value). This is the list of properties that HttpClient recognizes:
Name Type Effect
httpclient.useragent String Sets the User-Agent string to be sent on every HTTP request.
httpclient.authentication.preemptive boolean Sends authorization credentials without requiring explicit requests from the web server