`

httpclient中使用HTTPS的方法

阅读更多

import javax.net.ssl.SSLContext;

import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ClientConnectionManager;

import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.scheme.SchemeSocketFactory;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.ClientParamsStack;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.DefaultedHttpParams;
import org.apache.http.params.HttpParams;

public class HttpClientTest {

	public static void main(String args[]) {

		try {

			HttpClient httpclient = new DefaultHttpClient();
                        //Secure Protocol implementation.
			SSLContext ctx = SSLContext.getInstance("SSL");
                        //Implementation of a trust manager for X509 certificates
			X509TrustManager tm = new X509TrustManager() {

				public void checkClientTrusted(X509Certificate[] xcs,
						String string) throws CertificateException {

				}

				public void checkServerTrusted(X509Certificate[] xcs,
						String string) throws CertificateException {
				}

				public X509Certificate[] getAcceptedIssuers() {
					return null;
				}
			};
			ctx.init(null, new TrustManager[] { tm }, null);
			SSLSocketFactory ssf = new SSLSocketFactory(ctx);

			ClientConnectionManager ccm = httpclient.getConnectionManager();
                        //register https protocol in httpclient's scheme registry
			SchemeRegistry sr = ccm.getSchemeRegistry();
			sr.register(new Scheme("https", 443, ssf));

			HttpGet httpget = new HttpGet("");
			HttpParams params = httpclient.getParams();

			params.setParameter("param1", "paramValue1");

			httpget.setParams(params);
			System.out.println("REQUEST:" + httpget.getURI());
			ResponseHandler responseHandler = new BasicResponseHandler();
			String responseBody;

			responseBody = httpclient.execute(httpget, responseHandler);

			System.out.println(responseBody);

			// Create a response handler

		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception ex) {
			ex.printStackTrace();

		}
	}
}


分享到:
评论

相关推荐

    JAVA利用HttpClient进行HTTPS接口调用

    在这个主题中,我们将深入探讨如何在Java中使用HttpClient来实现HTTPS接口调用。 首先,我们需要理解HTTPS协议。HTTPS是HTTP(超文本传输协议)与SSL/TLS(安全套接层/传输层安全)的结合,它为数据传输提供了加密...

    使用httpClient访问https+443端口号。

    标题中的“使用httpClient访问https+443端口号”指的是使用Apache HttpClient库来发起HTTPS(安全超文本传输协议)请求,目标服务器的默认端口是443。HTTPS是一种基于SSL/TLS的安全通信协议,用于在客户端和服务器...

    jsp 中HttpClient中的POST方法实例详解.docx

    本文档主要介绍了如何在JSP中使用HttpClient发起POST请求,包括POST方法的基本概念、使用步骤以及具体实例。这对于理解如何通过HttpClient在JSP中发送POST请求非常有帮助。 #### 二、POST方法的概念 POST方法是一种...

    httpclient4.1访问https的配置方法

    【标题】:“httpclient4.1访问https的配置方法” 【描述】:“本教程将指导你如何利用Apache HttpClient 4.1实现对HTTPS服务的访问,首先需要在Tomcat服务器上配置SSL支持。我们将涵盖SSL证书的生成、Tomcat服务器...

    httpClient实例httpClient调用 http/https实例 忽略SSL验证

    在IT行业中,HttpClient是一个常用的Java库,用于执行HTTP和HTTPS请求。这个实例主要涉及如何配置HttpClient来忽略SSL(Secure Socket Layer)验证,这对于在开发和测试环境中处理自签名证书或未认证的服务器非常...

    commons-httpclient,java中使用httpclient中使用的扩展工具

    7. **SSL支持**:HttpClient支持HTTPS协议,通过`SSLProtocolSocketFactory`可以处理SSL/TLS连接。 8. **Cookie管理**:`CookiePolicy`和`CookieSpec`用于管理HTTP cookies,`CookieStore`接口用于存储和检索...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    在IT行业中,网络通信是应用程序之间交互的基础,而HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)则是...理解并掌握HttpClientUtil的工作原理和使用方法,对于任何需要进行网络通信的Java项目都是至关重要的。

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...

    【ASP.NET编程知识】.NET CORE HttpClient的使用方法.docx

    在 CommitAgentOfficial 方法中,我们使用了 _httpClientFactory.CreateClient 方法来创建 HttpClient 实例,并使用它来发送 POST 请求。 三、结论 在 .NET CORE 中,HttpClient 是一个非常重要的组件,它提供了一...

    HttpClient各种使用方法

    NULL 博文链接:https://wenkaixuan.iteye.com/blog/2109590

    httpClient自动接受https的证书代码

    在实际项目中,你可能需要根据你的具体需求调整这段代码,例如替换`TrustAllStrategy`以实现更具体的证书验证逻辑,或者在生产环境中使用系统的信任管理器。通过这样的配置,你可以轻松地处理HttpClient与各种HTTPS...

    httpclient来进行https访问

    在`httpclient`中使用HTTPS,首先要解决的是SSL上下文的配置问题。这通常包括以下步骤: 1. **证书管理**: - 导入服务器证书到信任存储库(truststore)。 - 生成客户端证书到密钥存储库(keystore)。 ```...

    使用HttpClient调试android接口-通用方法

    在这个场景下,"使用HttpClient调试android接口-通用方法"的标题表明我们将讨论如何使用HttpClient来调试Android应用中的API接口。下面,我们将深入探讨HttpClient的基础知识、调试技巧以及如何封装通用方法。 1. *...

    httpclient4中文API和使用

    `httpClient笔记.docx`可能是用户或教程作者整理的关于使用HttpClient的笔记或实战案例,可能包括一些常见问题的解决方案,比如处理重定向、处理cookies、上传下载文件、使用HTTPS等。 学习HttpClient时,除了API...

    HttpClient中文文档,快速开发

    标签"HttpClient"进一步确认了文档的主题,HttpClient是Java中广泛使用的HTTP客户端库,尤其在需要进行复杂的HTTP交互或者自动化测试时,其强大的功能和灵活性使其成为首选。 在阅读这份“httpclient中文帮助文档....

    HttpClient发起HTTPs请求.rar

    总的来说,这个压缩包提供了使用HttpClient发起HTTPS请求的基础示例,包括GET和POST方法,并且展示了如何结合fastJson库处理JSON数据。开发者可以根据自己的需求进行相应的扩展和调整,以适应各种复杂的网络环境和...

    httpclient简单使用

    在Java项目中使用HTTPClient,首先需要添加相应的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient <version>4.5.13 ``...

    httpclient介绍及常用方法mm文档

    httpclient的介绍以及基本方法整理

    HttpClient4.1.2中英文文档

    3. **线程安全**:HttpClient设计为线程安全,可以在多线程环境中使用,而无需额外的同步措施。 4. **自定义化**:HttpClient允许用户根据需要定制请求头、实体内容、编码策略等,以满足特定的应用场景。 5. **高...

Global site tag (gtag.js) - Google Analytics