httpclient
EntityEnclosingMethod httpMethod = new PostMethod(url);
// 此处运用连接池技术。
MultiThreadedHttpConnectionManager manager = new MultiThreadedHttpConnectionManager();
// 设定参数:与每个主机的最大连接数
manager.getParams().setDefaultMaxConnectionsPerHost(10);
// 设定参数:客户端的总连接数
manager.getParams().setMaxTotalConnections(20);
// 使用连接池技术创建HttpClient对象
HttpClient httpClient = new HttpClient(manager);
// 设置超时时间
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
//设置请求头
httpMethod.setRequestHeader(type, value);
// 发送含xml消息体
RequestEntity entity = new StringRequestEntity(xml, "text/xml", "UTF-8");
httpMethod.setRequestEntity(entity);
int resultCode = httpClient.executeMethod(httpMethod);
//获取响应消息头
Header[] headers = httpMethod.getResponseHeaders();
//返回响应报文
String xml = httpMethod.getResponseBodyAsString();
https
// 重写X509TrustManager类的三个方法,信任服务器证书
private X509TrustManager xtm = new X509TrustManager()
{
public void checkClientTrusted(X509Certificate[] chain, String authType)
{
}
public void checkServerTrusted(X509Certificate[] chain, String authType)
{
}
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
};
// 信任主机
private HostnameVerifier hnv = new HostnameVerifier()
{
public boolean verify(String hostname, SSLSession session)
{
return true;
}
};
//构造SSLContext
/**
* 安全套接字的实现类
*/
SSLContext sslContext = null;
try
{
// sslContext = SSLContext.getInstance("TLS");
sslContext = SSLContext.getInstance("SSL");
X509TrustManager[] xtmArray = new X509TrustManager[] {xtm};
sslContext.init(null, xtmArray, new java.security.SecureRandom());
}
catch (GeneralSecurityException gse)
{
System.out.println("Https:DataSender:General Security Exception .");
gse.getStackTrace();
}
if (sslContext != null)
{
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
}
HttpsURLConnection.setDefaultHostnameVerifier(hnv);
//通过Https发送消息
// System.setProperty("javax.net.debug","true");
URL remoteHostURL;
HttpsURLConnection httpsUrlConnection = null;
// 建立连接
try
{
remoteHostURL = new URL(ct.getRemoteHostURI());
System.out.println(ct.getRemoteHostURI());
httpsUrlConnection = (HttpsURLConnection)remoteHostURL.openConnection();
}
catch (Exception _ex)
{
System.out.println("Unable to openConnection on URL.");
_ex.printStackTrace();
}
byte[] Msg = ct.getMessage();
HttpsURLConnection.setFollowRedirects(true);
httpsUrlConnection.setInstanceFollowRedirects(true);
httpsUrlConnection.setDoOutput(true);
httpsUrlConnection.setDoInput(true);
httpsUrlConnection.setRequestMethod("POST");
httpsUrlConnection.setRequestProperty("Content-length", Integer.toString(Msg.length));
httpsUrlConnection.setRequestProperty("Content-type", "application/x-xxxxxxxx; version=1.0");
httpsUrlConnection.connect();
//发送消息体
OutputStream outStream = null;
try
{
outStream = httpsUrlConnection.getOutputStream();
outStream.write(Msg);
outStream.flush();
}
finally
{
if (outStream != null)
{
outStream.close();
}
}
//接收响应报文
int responseCode = httpsUrlConnection.getResponseCode();
InputStream is = httpsUrlConnection.getInputStream();
byte[] b = new byte[is.available()];
is.read(b);
System.out.println(new String(b));
分享到:
相关推荐
Https请求工具类,Java实现http请求,https请求 本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用...
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间传输加密数据,确保数据的隐私和完整性。这个“Java Https工具类,Java Https Post请求”...
Java的`HttpURLConnection`类是处理HTTP和HTTPS请求的基础,而`HttpsURLConnection`则是它的HTTPS特定实现。 1. **配置SSL上下文**: 当访问HTTPS网址时,Java会检查服务器的SSL证书。如果证书不在受信任的证书...
Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)
java 发送https get请求工具类
在Java编程环境中,进行HTTPS POST请求是常见的网络通信任务,特别是在需要安全传输敏感数据时,如用户登录信息或支付详情。HTTPS(HTTP over SSL/TLS)提供了加密和身份验证机制,确保了数据的隐私和完整性。本文将...
### Java 发送 HTTPS 请求时遇到证书问题解析 在进行网络通信的过程中,HTTPS 协议由于其安全性被广泛应用。本文将围绕“Java 发送 HTTPS 请求证书问题”这一主题展开讨论,通过对给定文件中的代码示例及操作步骤...
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信方式,它通过SSL/TLS协议加密传输数据,确保了网络通信的安全性。当你需要在Java程序中发送HTTPS请求时,可能会遇到证书...
在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在需要安全传输敏感数据或确保数据完整性时。这里我们将深入探讨如何使用Java 1.7版本处理这一过程,包括处理SSL证书。 首先,理解HTTPS(超文本...
压缩包里包含http和https两种请求,第一个文件是http请求包含post和get两种方式,剩下的是https的请求,最后一个文件里包含https的post和get两种方式。中间的两个是post 和 get 分开写的,按照需要引用吧
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种用于在互联网上安全传输数据的协议,它基于HTTP,但提供了额外的安全性层,通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)来加密...
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间建立安全的、加密的数据传输通道。它主要用于保护用户数据,防止中间人攻击和数据篡改。本...
java用于模拟https需要的jar包 包含commons-lang-2.6.jar、httpclient-4.3.2.jar、httpcore-4.3.jar、commons-io-2.4.jar、httpmime-4.3.1.jar、httpclient-cache-4.3.1.jar
在Java编程语言中,发送HTTP和HTTPS请求是常见的任务,特别是在开发Web服务客户端或进行API交互时。HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是用于在客户端和服务器之间交换数据的标准。这里我们将深入...
在Java编程中,HttpClient是一个非常重要的库,常用于执行HTTP请求。当涉及到HTTPS接口调用时,HttpClient可以处理加密通信,确保数据传输的安全性。在这个主题中,我们将深入探讨如何在Java中使用HttpClient来实现...
在Java编程中,访问HTTPS(安全超文本传输协议)接口通常涉及到处理数字证书,这是为了确保数据传输的安全性。HTTPS通过使用SSL/TLS协议来加密通信,而证书是该协议的一部分,用于验证服务器的身份。本篇文章将深入...
java发送https请求的例子
windows系统上的http和https抓包工具, fiddler是http https监控工具 如果要监控java程序,需要添加如下代码: System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort", "8888...
http客户端java程序,代码质量高,经过测试。
java生成https安全证书,解决httpClient访问https出错 编译:javac InstallCert.java 运行:java InstallCert 要访问的网址 结果:Enter certificate to add to trusted keystore or 'q' to quit: [1] 输入1确认生成...