官方主頁:http://hc.apache.org/
Components
Custom SSL context
This example demonstrates how to create secure connections with a custom SSL context.
自定义SSL内容
这个例子示范怎样用自定义SSL内容创建一个安全的连接。
package cn.lake.util;
import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
/**
* This example demonstrates how to create secure connections with a custom SSL
* context.
*/
public class ClientCustomSSL {
public final static void main(String[] args) throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient();
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream instream = new FileInputStream(new File("my.keystore"));
try {
trustStore.load(instream, "nopassword".toCharArray());
} finally {
instream.close();
}
SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, 443);
httpclient.getConnectionManager().getSchemeRegistry().register(sch);
HttpGet httpget = new HttpGet("https://localhost/");
System.out.println("executing request" + httpget.getRequestLine());
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());
}
if (entity != null) {
entity.consumeContent();
}
}
}
翻譯的不好,請見諒!
分享到:
- 2009-01-15 13:58
- 浏览 2042
- 评论(3)
- 论坛回复 / 浏览 (3 / 4737)
- 查看更多
相关推荐
SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(); ``` 然后,使用这个`SSLContext`创建一个`SSLSocketFactory`: ```java ...
3. **配置HttpClient**:将自定义的SSLContext应用到HttpClient的HttpConnectionFactory。 ```java import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache....
以下是如何创建一个跳过SSL证书校验的HttpClient: ```java // 创建自定义的SSLContext,信任所有证书 SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, new TrustStrategy() { @Override ...
RequestConfig config = RequestConfig.custom() .setConnectTimeout(10000) // 连接超时,单位毫秒 .setSocketTimeout(10000) // 读取超时,单位毫秒 .build(); HttpGet get = new HttpGet(url); get.set...
CloseableHttpClient httpClient = HttpClients.custom().setSslcontext(sslContext).build(); // 模拟上传文件 String uploadUrl = "https://your-upload-server.com/upload"; ...
3. SSL证书问题:处理自签名或不受信任的证书,可能需要自定义SSLSocketFactory。 4. 并发处理:在多线程环境中,需正确管理和同步HttpClient实例。 总的来说,Apache Commons HttpClient 3.1是Java开发中处理HTTP...
Maven坐标:org.apache.httpcomponents:httpclient:4.5.12; 标签:apache、httpcomponents、httpclient、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
使用HttpClient4.5实现https请求忽略SSL证书验证工具类
HTTPClient: TElHTTPClient; SSLContext: TElSSLContext; begin // 创建SSL上下文 SSLContext := TElSSLContext.Create(nil); SSLContext.UseDefaultCAStore := True; // 使用默认的证书权威机构存储 // ...
Maven坐标:org.apache.httpcomponents:httpclient:4.5.13; 标签:apache、httpcomponents、httpclient、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
HttpClient库提供了SSLContext和SSLSocketFactory类,用于配置和管理SSL/TLS连接。我们可能需要创建并加载信任的证书,或者忽略证书错误以适应不同的环境需求。 配置HttpClient进行HTTPS连接通常包括以下步骤: 1. ...
《JAVA中使用HttpClient:commons-httpclient-3.0.jar详解》 在JAVA开发中,进行HTTP请求时,Apache的HttpClient库是一个不可或缺的工具。本文将深入解析`commons-httpclient-3.0.jar`,它是HttpClient的一个重要...
《HttpClient 4.5详解与应用实践》 HttpClient是一个开源的Java库,由Apache软件基金会维护,主要用于在HTTP协议上实现客户端的通信。版本4.5是HttpClient的一个稳定版本,提供了许多增强的功能和优化,使其成为...
4. **支持SSL/TLS**:HttpClient内置了对HTTPS的支持,可以处理SSL证书验证,确保数据传输的安全性。 5. **重试策略**:当网络不稳定或服务器短暂故障时,HttpClient可以设置重试策略,自动处理请求失败的情况。 6...
`SSLContext`是SSL/TLS安全套接层的核心,它负责管理和初始化SSL会话。`TrustManager`是负责验证服务器证书的接口。在默认情况下,`httpclient`会使用系统提供的`TrustManager`,这会严格检查服务器证书链是否可信任...
Maven坐标:org.apache.httpcomponents:httpclient:4.5.13; 标签:apache、httpcomponents、httpclient、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览...
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....
springboot3.2.7 基于java17 ,测试https 接口,基于 RestTemplate 实现
标题中的"commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar"指的是三个关键的Java库文件,它们是Apache HttpClient项目的一部分,用于在Java应用程序中实现HTTP通信。这些JAR(Java ...
2. 调整SSLContext,可能包括自定义的TrustManager,如`EasyX509TrustManager`。 3. 注册自定义的SocketFactory到`ProtocolRegistry`,以便`HttpClient`在处理HTTPS请求时使用。 接下来,`EasyX509TrustManager....