Package 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:
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
-
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 aHTTP connection
and a corresponding response.HttpMethodRetryHandler A handler for determining if an HttpMethod should be retried after a recoverable exception during execution.MethodRetryHandler Deprecated. -
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 defaultHttpMethodRetryHandler
used byHttpMethod
s.DefaultMethodRetryHandler Deprecated. 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 anHTTP state
and one or moreHTTP connections
, to whichHTTP methods
can be applied.HttpConnection An abstraction of an HTTPInputStream
andOutputStream
pair, together with the relevant attributes.HttpConstants Deprecated. use EncodingUtil classHttpHost 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 ascookies
and authenticationcredentials
.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 providessockets
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 passwordCredentials
. -
Exception Summary Exception Description CircularRedirectException Signals a circular redirectConnectionPoolTimeoutException 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 usedInvalidRedirectLocationException Signals violation of HTTP specification caused by an invalid redirect locationNoHttpResponseException 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 redirectURI.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.