Welcome to Apache Maven
Apache Httpclient 5 Maven
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. HttpAsyncClient Overview. The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant protocol used on the Internet today. Web services, network-enabled appliances and the growth of network computing continue to expand the role of the HTTP protocol beyond user-driven web browsers, while increasing the number of applications that require HTTP support.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
If you think that Maven could help your project, you can find out more information in the 'About Maven' section of the navigation. This includes an in-depth description of what Maven is and a list of some of its main features.
This site is separated into the following sections, depending on how you'd like to use Maven:
Use | Download, Install, Run Maven | Configure, Use Maven and Maven Plugins |
---|---|---|
Information for those needing to build a project that uses Maven | Information for developers using Maven to build their project, including a '10 minute test' that gives a practical overview of Maven's main features and a plugin list for more information on each plugin. | |
Extend | Write Maven Plugins | Improve the Maven Central Repository |
Information for developers writing Maven plugins. | Information for those who may or may not use Maven, but are interested in getting project metadata into the central repository. | |
Contribute | Help Maven | Develop Maven |
Information if you'd like to get involved. Maven is an open source community and welcomes contributions. | Information for those who are currently Maven developers, or who are interested in contributing to the Maven project itself. |
Each guide is divided into a number of trails to get you started on a particular topic, and includes a reference area and a 'cookbook' of common examples.
You can access the guides at any time from the left navigation. If you are looking for a quick reference, you can use the documentation index.
How to Get Support
Support for Maven is available in a variety of different forms.
To get started, search the documentation, issue management system, the wiki or the mailing list archives to see if the problem has been solved or reported before.
If the problem has not been reported before, the recommended way to get help is to subscribe to the Maven Users Mailing list. Many other users and Maven developers will answer your questions there, and the answer will be archived for others in the future.
You can also reach the Maven developers on IRC.
Apache Software Foundation
Maven is a part of the Apache Software Foundation. We'd like to thank the sponsors that provide financial assistance to the foundation. For more information on how you can support the foundation, see the sponsorship page.
You can also attend Apache Events. Don't hesitate to ask on the Maven User mailing list if Maven team members will be there. It can be a great opportunity to meet them.
The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant protocol used on the Internet today. Web services, network-enabled appliances and the growth of network computing continue to expand the role of the HTTP protocol beyond user-driven web browsers, while increasing the number of applications that require HTTP support.
Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn’t provide the full flexibility or functionality needed by many applications. HttpAsyncClient seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations.
Designed for extension while providing robust support for the base HTTP protocol, HttpAsyncClient may be of interest to anyone building HTTP-aware client applications based on asynchronous, event driven I/O model.
Documentation
- Quick Start - contains a simple, complete example of asynchronous request execution.
- HttpAsyncClient Examples - a set of examples demonstrating some of the more complex use scenarios.
- Javadocs
Features
- Standards based, pure Java, implementation of HTTP versions 1.0 and 1.1
- Full implementation of all HTTP methods (GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE) in an extensible OO framework.
- Supports encryption with HTTPS (HTTP over SSL) protocol.
- Transparent connections through HTTP proxies.
- Tunneled HTTPS connections through HTTP proxies, via the CONNECT method.
- Connection management support concurrent request execution. Supports setting the maximum total connections as well as the maximum connections per host. Detects and closes expired connections.
- Persistent connections using KeepAlive in HTTP/1.0 and persistence in HTTP/1.1
- The ability to set connection timeouts.
- Source code is freely available under the Apache License.
- Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO and Kerberos authentication schemes.
- Plug-in mechanism for custom authentication schemes.
- Automatic Cookie handling for reading Set-Cookie: headers from the server and sending them back out in a
Cookie
header when appropriate. - Plug-in mechanism for custom cookie policies.
- Support for HTTP/1.1 response caching.
- Support for pipelined request execution and processing.
Apache Httpclient 4 Maven
Standards Compliance
HttpAsyncClient strives to conform to the following specifications endorsed by the Internet Engineering Task Force (IETF) and the internet at large:
Apache Httpcomponents
Httpcomponents
- RFC 1945 Hypertext Transfer Protocol – HTTP/1.0
- RFC 2616 Hypertext Transfer Protocol – HTTP/1.1
- RFC 2617 HTTP Authentication: Basic and Digest Access Authentication
- RFC 2109 HTTP State Management Mechanism (Cookies)
- RFC 2965 HTTP State Management Mechanism (Cookies v2)