| ~~ ==================================================================== |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| ~~ ==================================================================== |
| ~~ |
| ~~ This software consists of voluntary contributions made by many |
| ~~ individuals on behalf of the Apache Software Foundation. For more |
| ~~ information on the Apache Software Foundation, please see |
| ~~ <http://www.apache.org/>. |
| |
| ---------- |
| HttpComponents HttpClient Examples |
| ---------- |
| ---------- |
| ---------- |
| |
| HttpClient Examples (Classic) |
| |
| * {{{./httpclient5/examples/ClientWithResponseHandler.java}Response handling}} |
| |
| This example demonstrates how to process HTTP responses using a response handler. This is |
| the recommended way of executing HTTP requests and processing HTTP responses. This approach |
| enables the caller to concentrate on the process of digesting HTTP responses and to delegate |
| the task of system resource deallocation to HttpClient. The use of an HTTP response handler |
| guarantees that the underlying HTTP connection will be released back to the connection manager |
| automatically in all cases. |
| |
| * {{{./httpclient5/examples/ClientConnectionRelease.java}Manual connection release}} |
| |
| This example demonstrates how to ensure the release of the underlying HTTP connection back to |
| the connection manager in case of a manual processing of HTTP responses. |
| |
| * {{{./httpclient5/examples/ClientConfiguration.java}HttpClient configuration}} |
| |
| This example demonstrates how to customize and configure the most common aspects of HTTP request execution |
| and connection management. |
| |
| * {{{./httpclient5/examples/ClientInterceptors.java}Request execution interceptors}} |
| |
| This example demonstrates how to insert custom request interceptor and an execution interceptor to the |
| request execution chain. |
| |
| * {{{./httpclient5/examples/ClientAbortMethod.java}Abort method}} |
| |
| This example demonstrates how to abort an HTTP request before its normal completion. |
| |
| * {{{./httpclient5/examples/ClientAuthentication.java}Client authentication}} |
| |
| This example uses HttpClient to execute an HTTP request against a target site that requires user |
| authentication. |
| |
| * {{{./httpclient5/examples/ClientExecuteProxy.java}Request via a proxy}} |
| |
| This example demonstrates how to send an HTTP request via a proxy. |
| |
| * {{{./httpclient5/examples/ClientProxyAuthentication.java}Proxy authentication}} |
| |
| A simple example showing execution of an HTTP request over a secure connection tunneled through |
| an authenticating proxy. |
| |
| * {{{./httpclient5/examples/ClientChunkEncodedPost.java}Chunk encoded POST}} |
| |
| This example shows how to stream out a request entity using chunk encoding. |
| |
| * {{{./httpclient5/examples/ClientCustomContext.java}Custom execution context}} |
| |
| This example demonstrates the use of a local HTTP context populated custom attributes. |
| |
| * {{{./httpclient5/examples/ClientFormLogin.java}Form based logon}} |
| |
| This example demonstrates how HttpClient can be used to perform form-based logon. |
| |
| * {{{./httpclient5/examples/ClientMultiThreadedExecution.java}Threaded request execution}} |
| |
| An example that executes HTTP requests from multiple worker threads. |
| |
| * {{{./httpclient5/examples/ClientCustomSSL.java}Custom SSL context}} |
| |
| This example demonstrates how to create secure connections with a custom SSL context. |
| |
| * {{{./httpclient5/examples/ClientPreemptiveBasicAuthentication.java}Preemptive BASIC authentication}} |
| |
| This example shows how HttpClient can be customized to authenticate preemptively using BASIC |
| scheme. Generally, preemptive authentication can be considered less secure than a response to |
| an authentication challenge and therefore discouraged. |
| |
| * {{{./httpclient5/examples/ClientPreemptiveDigestAuthentication.java}Preemptive DIGEST authentication}} |
| |
| This example shows how HttpClient can be customized to authenticate preemptively using DIGEST |
| scheme. Generally, preemptive authentication can be considered less secure than a response to |
| an authentication challenge and therefore discouraged. |
| |
| * {{{./httpclient5/examples/ProxyTunnelDemo.java}Proxy tunnel}} |
| |
| This example shows how to use ProxyClient in order to establish a tunnel through an HTTP proxy |
| for an arbitrary protocol. |
| |
| * {{{./httpclient5/examples/ClientMultipartFormPost.java}Multipart encoded request entity}} |
| |
| This example shows how to execute requests enclosing a multipart encoded entity. |
| |