blob: 7d7ce088398d492912424ec21b760a1eb0b0388b [file] [log] [blame]
~~ ====================================================================
~~ 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.