org.apache.commons.httpclient (HttpClient Library (Version 3.1))
Date: 2018-05-07

# Package org.apache.commons.httpclient

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

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Credentials | Authentication credentials.
  HttpConnectionManager | An interface for classes that manage HttpConnections.
  HttpMethod | HttpMethod interface represents a request to be sent via a `HTTP connection` and a corresponding response.
  HttpMethodRetryHandler | A handler for determining if an HttpMethod should be retried after a recoverable exception during execution.
  MethodRetryHandler | Deprecated use `HttpMethodRetryHandler`

- Class Summary
  Class | Description
  --- | ---
  ChunkedInputStream | Transparently coalesces chunks of a HTTP stream that uses Transfer-Encoding chunked.
  ChunkedOutputStream | Implements HTTP chunking support.
  ConnectMethod | Establishes a tunneled HTTP connection via the CONNECT method.
  ContentLengthInputStream | Cuts the wrapped InputStream off after a specified number of bytes.
  Cookie | HTTP "magic-cookie" represents a piece of state information that the HTTP agent and the target server can exchange to maintain a session.
  DefaultHttpMethodRetryHandler | The default `HttpMethodRetryHandler` used by `HttpMethod`s.
  DefaultMethodRetryHandler | Deprecated use `DefaultHttpMethodRetryHandler`
  Header | An HTTP header.
  HeaderElement | One element of an HTTP header's value.
  HeaderGroup | A class for combining a set of headers.
  HostConfiguration | Holds all of the variables needed to describe an HTTP connection to a host.
  HttpClient | An HTTP "user-agent", containing an `HTTP state` and one or more `HTTP connections`, to which `HTTP methods` can be applied.
  HttpConnection | An abstraction of an HTTP `InputStream` and `OutputStream` pair, together with the relevant attributes.
  HttpConstants | Deprecated use EncodingUtil class
  HttpHost | Holds all of the variables needed to describe an HTTP connection to a host.
  HttpMethodBase | An abstract base implementation of HttpMethod.
  HttpParser | A utility class for parsing http header values according to RFC-2616 Section 4 and 19.3.
  HttpState | A container for HTTP attributes that may persist from request to request, such as `cookies` and authentication `credentials`.
  HttpStatus | Constants enumerating the HTTP status codes.
  HttpsURL | The HTTPS URL.
  HttpURL | The HTTP URL.
  HttpVersion | HTTP version, as specified in RFC 2616.
  MultiThreadedHttpConnectionManager | Manages a set of HttpConnections for various HostConfigurations.
  NameValuePair | A simple class encapsulating a name/value pair.
  NTCredentials | `Credentials` for use with the NTLM authentication scheme which requires additional information.
  ProxyClient | A client that provides `sockets` for communicating through HTTP proxies via the HTTP CONNECT method.
  ProxyClient.ConnectResponse | Contains the method used to execute the connect along with the created socket.
  ProxyHost | Holds all of the variables needed to describe an HTTP connection to a proxy.
  SimpleHttpConnectionManager | A connection manager that provides access to a single HttpConnection.
  StatusLine | Represents a Status-Line as returned from a HTTP server.
  URI | The interface for the URI(Uniform Resource Identifiers) version of RFC 2396.
  URI.LocaleToCharsetMap | A mapping to determine the (somewhat arbitrarily) preferred charset for a given locale.
  UsernamePasswordCredentials | Username and password `Credentials`.

- Exception Summary
  Exception | Description
  --- | ---
  CircularRedirectException | Signals a circular redirect
  ConnectionPoolTimeoutException | A timeout while connecting waiting for an available connection from an HttpConnectionManager.
  ConnectTimeoutException | A timeout while connecting to an HTTP server or waiting for an available connection from an HttpConnectionManager.
  HttpContentTooLargeException | Signals that the response content was larger than anticipated.
  HttpException | Signals that an HTTP or HttpClient exception has occurred.
  HttpRecoverableException | Deprecated no longer used
  InvalidRedirectLocationException | Signals violation of HTTP specification caused by an invalid redirect location
  NoHttpResponseException | Signals that the target server failed to respond with a valid HTTP response.
  ProtocolException | Signals that an HTTP protocol violation has occurred.
  RedirectException | Signals violation of HTTP specification caused by an invalid redirect
  URI.DefaultCharsetChanged | The charset-changed normal operation to represent to be required to alert to user the fact the default charset is changed.
  URIException | The URI parsing and escape encoding exception.

- Error Summary
  Error | Description
  --- | ---
  HttpClientError | Signals that an error has occurred.

## Package org.apache.commons.httpclient Description

### 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:

`HttpConnection`
  represents a network connection to some HTTP host.
`HttpMethod`
  represents a request to be made over some `HttpConnection` and contains the server's response.
`HttpState`
  contains the HTTP attributes that may persist from request to request, such as cookies and authentication credentials.

and several simple bean-style classes:

`Cookie`
  represents HTTP cookie.
`Credentials`
  an interface representing a set of authentication credentials.
`Header`
  represents an HTTP request or response header.
`HeaderElement`
  represents a single element of a multi-part header.
`UsernamePasswordCredentials`
  a username and password pair.

`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:

`HttpMethodBase`
  an abstract base implementation of `HttpMethod`, which may be extended to create new method types or to support additional protocol HTTP features.
`HttpStatus`
  an enumeration of HttpStatus codes.
`ChunkedOutputStream`
  an `OutputStream` wrapper supporting the "chunked" transfer encoding.
`ChunkedInputStream`
  an `InputStream` wrapper supporting the "chunked" transfer encoding.
`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

``

Copyright (c) 1999-2005 - Apache Software Foundation