The code below is base on the internet material. One sinaeio: If you want to sign in the web site which based on https,sometimes you have to pass the username and password. Please pay attention to bold part, it shows how to do it. You have to encode the username and password base on base64.
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import sun.misc.BASE64Encoder;
public class ssltest {
public static void main(String[] args) throws Exception {
ssltest s = new ssltest();
s.connect("http://006devtools-vs2/svn/hf/");
}
protected void connect(String strUrl) throws Exception {
// trustAllHttpsCertificates();
// HttpsURLConnection.setDefaultHostnameVerifier(hv);
String authorization = "alex_zhang:pwd";
String encodedAuthorization= new String(new BASE64Encoder().encode(authorization.getBytes()));
URL url = new URL(strUrl);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
urlConn.connect();
int responseCode = urlConn.getResponseCode();
System.out.println(responseCode);
InputStream inputStream = urlConn.getInputStream();
BufferedReader d = new BufferedReader(new InputStreamReader(inputStream));
String readLine = null;
while((readLine = d.readLine())!= null)
System.out.println(readLine);
}
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
System.out.println("Warning: URL Host: " + urlHostName + " vs. "
+ session.getPeerHost());
return true;
}
};
private static void trustAllHttpsCertificates() throws Exception {
// Create a trust manager that does not validate certificate chains:
javax.net.ssl.TrustManager[] trustAllCerts =
new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm = new miTM();
trustAllCerts[0] = tm;
javax.net.ssl.SSLContext sc =
javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(
sc.getSocketFactory());
}
public static class miTM implements javax.net.ssl.TrustManager,
javax.net.ssl.X509TrustManager {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(
java.security.cert.X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(
java.security.cert.X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) throws
java.security.cert.CertificateException {
return;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) throws
java.security.cert.CertificateException {
return;
}
}
}
分享到:
相关推荐
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种用于在互联网上安全传输数据的协议,它基于HTTP,但提供了额外的安全性层,通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)来加密...
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间传输加密数据,确保数据的隐私和完整性。这个“Java Https工具类,Java Https Post请求”...
【基于Java的网上书店】是一个综合性的Web应用项目,它采用了现代软件开发的诸多技术和设计原则,以提供用户友好的在线购书体验。这个项目主要分为前台和后台两大部分,涵盖了从浏览书籍到完成购买的整个流程,同时...
基于Java的人事管理系统通常采用三层架构:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。表现层负责用户交互,业务逻辑层处理业务规则和流程,数据访问层...
WebService基于WSDL(Web Service Description Language)定义服务接口,使用SOAP(Simple Object Access Protocol)协议传输数据,通过HTTP或HTTPS协议进行通信。在C#中,可以使用.NET框架中的ASMX或WCF服务来创建...
《基于JAVA的电信计费系统详解》 在信息化飞速发展的今天,电信计费系统作为通信行业的重要组成部分,承担着计费、账单生成、费用结算等关键任务。本项目以JAVA为开发语言,深入探讨了如何构建一个高效、稳定且可...
8. **部署与运行**:项目可能部署在Tomcat或Jetty等Java应用服务器上,通过HTTP/HTTPS服务对外提供访问。管理员需要配置服务器环境,如设置虚拟主机、调整内存大小等。 9. **问题与改进**:描述中提到项目存在一些...
【基于Java的毕业生信息管理系统】是一款专为教育机构设计的高效、便捷的信息化管理工具,它利用Java这一强大且广泛使用的编程语言,实现了对毕业生信息的全面管理和追踪。该系统的核心价值在于,通过自动化和系统化...
下面将详细讲解基于Java的考试管理系统的一些关键知识点。 1. **MVC设计模式**: - 考试管理系统通常采用Model-View-Controller(MVC)设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑(Controller)...
基于微信小程序+JAVA+Vue+SpringBoot+MySQL的智慧家政系统,包含了地址管理模、订单管理、家政分类管理、家政服务管理、用户反馈管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据...
7. **安全性**:Java Web系统通常会考虑安全性,例如使用HTTPS协议确保数据传输的安全,通过角色权限管理控制用户访问,以及利用Spring Security或Apache Shiro等库来防止SQL注入和XSS攻击。 8. **部署与运维**:...
《基于Java的在线购物系统的设计与实现》 在信息技术飞速发展的今天,电子商务已经成为现代商业活动的重要组成部分。基于Java的在线购物系统设计与实现是一项综合性的任务,涉及到计算机科学、软件工程、网络技术和...
【基于Java的旅行社管理系统】是一种采用B/S(Browser/Server,浏览器/服务器)架构的软件应用,主要用于协助旅行社进行日常业务管理。在这个系统中,用户通过浏览器即可访问和操作,而服务器端则处理数据和业务逻辑...
【标题】:“基于Java的在线购物系统”是一个利用Java编程语言构建的电子商务应用程序,它为用户提供了一个方便的在线购买商品的平台。这个系统的核心功能包括商品浏览、添加到购物车、结账、订单处理以及用户管理等...
### 基于Java的Selenium环境搭建详细指南 #### 一、准备Java环境 **1. 下载并安装JDK** - **步骤一**:通过百度搜索“Java”,找到Oracle官方提供的JDK下载页面。确保勾选“Accept License Agreement”,下载...
- **Java的JDBC编程**:JDBC是Java访问数据库的标准API,用于与各种类型的数据库建立连接,执行SQL语句并处理结果。 3. **项目获取**:项目源代码托管在Gitee上,可以通过以下地址获取:...
- **JDBC(Java Database Connectivity)**:Java访问数据库的标准接口,用于连接和操作数据库。 2. **框架应用**: - **Spring框架**:用于管理对象依赖,提供事务控制、AOP(面向切面编程)等,简化开发过程。 ...
【基于Java Web的人事管理系统详解】 Java Web技术是构建企业级Web应用的主流选择,它结合了Java语言的强大特性和Web应用的灵活性。基于Java Web的人事管理系统是一种常见且实用的项目,通常用于教学和实践,帮助...
4. **JDBC(Java Database Connectivity)**:Java访问数据库的接口,用于建立Java应用程序与数据库之间的连接,执行SQL语句并处理结果。 5. **Spring框架**:为了简化开发过程,Spring框架可能被采用。Spring提供...
《基于Java的KTV点歌系统源码》是一款典型的毕业设计项目,主要使用Java语言、JSP(JavaServer Pages)技术进行开发。本系统旨在模拟实际KTV环境,提供用户友好的界面,方便用户在线点歌、管理歌曲列表等功能。在...