项目需求,把http转成https,在网上看看了,学了两种方法,第一种比较简单,是绕过证书,来达到访问https,另一种是认证自定义的证,整理一下网上那个的只是,全部内容都是看大神们的解答,作为一个搬运工整理一下,会标明所有原文的出处。
源码文章里都有,就不在贴了。
学习自这位前辈
http://blog.csdn.net/rongyongfeikai2/article/details/41659353
第二种方法,比较麻烦先要自己生成bks文件放在项目里
推荐两个比较好的文章,看完就可以学会怎么生成bks文件
第一个 http://blog.csdn.net/u013424496/article/details/51161647
第二个 http://blog.csdn.net/u010314594/article/details/50765534
然后说下遇到的问题
项目有一个域名还有一个ip地址
当我用域名的时候出现这个问题
hostname in certificate didn't match
添加了如下代码
// 这个参数可以根据需要调整,如果对主机名的验证不需要那么严谨,可以将这个严谨程度调低些,已经调整为ALLOW_ALL_HOSTNAME_VERIFIER
SSLSocketFactory sf = new SSLSocketFactory(trusted);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
其实源码里都有,但是结合了很多为前辈的知识,就把这个忽略了,重点提一下。
转:http://blog.csdn.net/u012929068/article/details/54910610