Apache Commons Httpclient


Name Email Dev Id Roles Organization; Ortwin Glueck: oglueck -at- apache.org: oglueck: Emeritus PMC: Oleg Kalnichevski: olegk -at- apache.org: olegk: Committer, PMC. This article shows you how to use Apache HttpClient to send an HTTP GET/POST requests, JSON, authentication, timeout, redirection and some frequent used examples. P.S Tested with HttpClient 4.5.10.

Welcome to Apache Commons

Apache Commons is an Apache project focused on all aspects of reusable Java components.

The Apache Commons project is composed of three parts:

  • The Commons Proper - A repository of reusable Java components.
  • The Commons Sandbox - A workspace for Java component development.
  • The Commons Dormant - A repository of components that are currently inactive.

You may also read our charter, which spells out the goals of the project in greater detail.

Apache Commons Httpclient Vs Httpclient

The Apache Commons source code repositories are writable for all ASF committers. While Apache Commons is a Commit-Then-Review community, we would consider it polite and helpful for contributors to announce their intentions and plans on the dev mailing list before committing code. All contributors should read our contributing guidelines. We accept patches as SVN diff files uploaded to the Apache bugtracker or as pull request via our github mirrors.

Apache Commons Proper

Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. The Commons Proper is a place for collaboration and sharing, where developers from throughout the Apache community can work together on projects to be shared by the Apache projects and Apache users.

Commons developers will make an effort to ensure that their components have minimal dependencies on other libraries, so that these components can be deployed easily. In addition, Commons components will keep their interfaces as stable as possible, so that Apache users (including other Apache projects) can implement these components without having to worry about changes in the future.

This article gives an overview of (some of) the components which can be found here. Mkvtoolnix add srt.

We welcome participation from all that are interested, at all skill levels. Coding, documentation and testing are all critical parts of the software development process. If you are interested in participating in any of these aspects, please join us!

ComponentDescriptionLatest VersionRelease Date
BCELByte Code Engineering Library - analyze, create, and manipulate Java class files2020-06-05
BeanUtilsEasy-to-use wrappers around the Java reflection and introspection APIs.2019-08-13
BSFBean Scripting Framework - interface to scripting languages, including JSR-2233.12010-06-24
ChainChain of Responsibility pattern implemention.1.22008-06-02
CLI Command Line arguments parser.2017-03-09
CodecGeneral encoding/decoding algorithms (for example phonetic, base64, URL).2020-09-01
CollectionsExtends or augments the Java Collections Framework.2019-07-05
CompressDefines an API for working with tar, zip and bzip2 files.2020-02-08
ConfigurationReading of configuration/preferences files in various formats.2020-03-11
CryptoA cryptographic library optimized with AES-NI wrapping Openssl or JCE algorithm implementations.2020-08-28
CSVComponent for reading and writing comma separated value files.2020-02-01
DaemonAlternative invocation mechanism for unix-daemon-like java code.2021-01-21
DBCPDatabase connection pooling services.2020-09-21
DbUtilsJDBC helper library.2017-07-20
DigesterXML-to-Java-object mapping utility.2011-12-13
EmailLibrary for sending e-mail from Java.2017-08-01
ExecAPI for dealing with external process execution and environment management in Java.2014-11-06
FileUploadFile upload capability for your servlets and web applications.2019-01-16
FunctorA functor is a function that can be manipulated as an object, or an object representing a single, generic function.1.02011-??-??
GeometrySpace and coordinates.2020-07-19
Imaging (previously called Sanselan) A pure-Java image library.2020-08-01
IOCollection of I/O utilities.2020-09-05
JCIJava Compiler Interface2013-10-14
JCSJava Caching System2020-08-16
JellyXML based scripting and processing engine.2017-09-25
Jexl Expression language which extends the Expression Language of the JSTL.2017-04-14
JXPath Utilities for manipulating Java Beans using the XPath syntax.2008-08-14
LangProvides extra functionality for classes in java.lang.2021-02-26
LoggingWrapper around a variety of logging API implementations.2014-07-11
MathLightweight, self-contained mathematics and statistics components.2015-04-17
NetCollection of network utilities and protocol implementations.2020-02-13
NumbersNumber types (complex, quaternion, fraction) and utilities (arrays, combinatorics).2020-04-08
OGNLAn Object-Graph Navigation Language4.02013-??-??
PoolGeneric object pooling component.2020-09-25
Proxy Library for creating dynamic proxies.2008-02-28
RDFCommon implementation of RDF 1.1 that could be implemented by systems on the JVM.2017-12-23
RNGImplementations of random numbers generators.2019-11-11
SCXMLAn implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.
It is capable of executing a state machine defined using a SCXML document, and abstracts out the environment interfaces.
TextApache Commons Text is a library focused on algorithms working on strings.2020-07-21
ValidatorFramework to define validators and validation rules in an xml file.2020-08-07
VFSVirtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.2021-03-06
WeaverProvides an easy way to enhance (weave) compiled bytecode.2018-09-07

The Commons Sandbox

The Commons project also contains a workspace that is open to all Apache committers. It's a place to try out new ideas and prepare for inclusion into the Commons portion of the project or into another Apache project. Users are free to experiment with the components developed in the sandbox, but sandbox components will not necessarily be maintained, particularly in their current state.

See here for Sandbox components.

The Commons Dormant

These are Commons components that have been deemed inactive since they have seen little recent development activity. If you wish to use any of these components, you must build them yourselves. It is best to assume that these components will not be released in the near future.

Apache Commons Httpclient Post Example

See here for Dormant components.

Where do I get releases?

The individual components have independent releases. Some releases for some components may be available only through the mirroring system. Some releases for some components (typically the older ones) are not available through the mirroring system.

See the individual websites listed above for the specific downloads, or use the Releases menu option.

How do I contribute, give feedback, fix bugs and so on?

The Commons project really needs and appreciates any contributions, including documentation help, source code and feedback.

  • Discussion occurs on the Commons mailing list.
  • We have an IRC channel on freenode - join #apache-commons.
  • Access to the SVN commons/proper repository is available both online and with a svn client.
  • Access to the SVN commons/sandbox repository is available both online and with a svn client.
  • Access to the SVN commons/dormant repository is available both online and with a svn client.

Related Components @Apache


The Commons HttpClient project used to be a part of Commons, but is now part of Apache HttpComponents - see Jakarta Commons HttpClient