阅读本文之前,请先阅读下文,通过下文将获取到keystore文件:

在此,感谢一下stevenliu,不过经过我的测试,发现stevenliu文章中的源码并没有抓取到页面源码。可能是我项目里面的HttpClient版本较高的原因。下面这个方法没有问题:

package org.phoenix.cases.webservice;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.security.KeyStore;

import java.security.SecureRandom;

import java.security.cert.CertificateException;

import java.security.cert.X509Certificate;

import java.util.List;

import javax.net.ssl.HttpsURLConnection;

import javax.net.ssl.SSLContext;

import javax.net.ssl.SSLSocketFactory;

import javax.net.ssl.TrustManager;

import javax.net.ssl.TrustManagerFactory;

import javax.net.ssl.X509TrustManager;

import org.apache.commons.io.IOUtils;

/**

* java通过加载认证证书,抓取https的url源码方法

* @author mengfeiyang

*

*/

public class MyX509TrustManager implements X509TrustManager {

private X509TrustManager sunJSSEX509TrustManager;

public MyX509TrustManager(String keystoreFile,String pass) throws Exception {

KeyStore ks = KeyStore.getInstance("JKS");

ks.load(new FileInputStream(keystoreFile),pass.toCharArray());

TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");

tmf.init(ks);

TrustManager tms [] = tmf.getTrustManagers();

for (int i = 0; i

if (tms[i] instanceof X509TrustManager) {

sunJSSEX509TrustManager = (X509TrustManager) tms[i];

return;

}

}

throw new Exception("Couldn't initialize");

}

@Override

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {

try {

sunJSSEX509TrustManager.checkClientTrusted(chain, authType);

} catch (CertificateException excep) {

excep.printStackTrace();

}

}

@Override

public void checkServerTrusted(X509Certificate[] chain, String authType) {

try {

sunJSSEX509TrustManager.checkServerTrusted(chain, authType);

} catch (CertificateException excep) {

excep.printStackTrace();

}

}

@Override

public X509Certificate[] getAcceptedIssuers() {

return sunJSSEX509TrustManager.getAcceptedIssuers();

}

public static void main(String[] args) throws Exception {

TrustManager[] tm = { new MyX509TrustManager("E:\\mycert.keystore","123456") };

SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");

sslContext.init(null, tm, new SecureRandom());

SSLSocketFactory ssf = sslContext.getSocketFactory();

URL myURL = new URL("https://beta.tf.360.cn/search/mapi?keyword=途牛");

HttpsURLConnection httpsConn = (HttpsURLConnection) myURL.openConnection();

httpsConn.setSSLSocketFactory(ssf);

InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream());

List ls = IOUtils.readLines(insr);

for(String l : ls){

System.out.println(l);//打印源码

}

httpsConn.getResponseCode();//获取的状态码

}

}

在我的phoenixframework自动化平台的接口测试模块中,下个版本将会增加https的操作。因为发现现在越来越多的网站是https了。phoenixframework平台网站:http://www.cewan.la

java获取https网页代码_java抓取Https协议url地址的源码的方法相关推荐

  1. java股票数据_java抓取东方财富股票数据(附源码)

    背景 前段时间给朋友写了一个自动抓取同花顺股票数据的程序,不少人觉得不错. 这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不一定能搞得定. 本来我是一个德艺双磬且 ...

  2. java抓取网页代码_java 抓取网页内容实现代码

    复制代码 代码如下: package test; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  3. 网页java代码_java抓取网页代码

    导读热词 代码以下 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLCo ...

  4. java取网页数据_Java抓取网页数据(原来的页面+Javascript返回数据)

    转载请注明出处. 有时候因为种种原因.我们须要採集某个站点的数据.但因为不同站点对数据的显示方式略有不同! 本文就用Java给大家演示怎样抓取站点的数据:(1)抓取原网页数据.(2)抓取网页Javas ...

  5. java 抓取网页乱码_java抓取网页乱码问题的处理

    今天同事做了一个我们感觉很牛B的彩票预测程序,采用的是遗传算法实现,于是我"剽"来学习先,但是部署到我电脑上以后,就有问题了: 1.用她的抓取程序得到的网页内容出现乱码,导致数据无 ...

  6. requests和正则re的使用抓取某小说文本(附带源码)

    平时有没有和我一样喜欢看小说的小伙伴,在用网页看小说的时候经常会忘了小说的地址,或者是被网页上的垃圾广告所干扰误触点了进去.今天我们来抓取一整部小说文本 1.对页面进行分析,构思思路 1.首先找到我们 ...

  7. python爬取同花顺_Java爬取同花顺股票数据(附源码)

    最近有小伙伴问我能不能抓取同花顺的数据,最近股票行情还不错,想把数据抓下来自己分析分析.我大A股,大家都知道的,一个概念火了,相应的股票就都大涨. 如果能及时获取股票涨跌信息,那就能在刚开始火起来的时 ...

  8. Python爬虫实现抓取腾讯视频所有电影-源码【实战必学】

    用python实现的抓取腾讯视频所有电影的爬虫 1. # -*- coding: utf-8 -*-2. import re3. import urllib24. from bs4 import Be ...

  9. 编译与代码安全之认识(二):Source2Source源码混淆方法

    一.说明:            针对源码混淆其实在代码保护中应用很多,大部分是应用在像JS这种脚本语言中,因为很多时候JS是以源码的形式出现,网上有很多关于JS保护的工具,比较出名的是JSugly和 ...

  10. java http 下载网页代码_Java下http下载文件客户端和上传文件客户端实例代码

    Java下http下载文件客户端和上传文件客户端实例代码 发布于 2021-1-14| 复制链接 摘记: 一.下载客户端代码 ```java package javadownload; import ...

最新文章

  1. MyISAM与InnoDB的索引实现
  2. 工作场合少聊事事非非
  3. labelme数据增强_NO. 21 标注工具 amp; 合成数据生成工具
  4. AtomicStampedReference实现
  5. mysql中的double类型_MySQL中float、double、decimal三个浮点类型的区别与总结!
  6. startssl申请免费ssl证书
  7. PageRank算法原理与实现
  8. Matplotlib使用指南
  9. SpringSecurity-1-UserDetails接口
  10. 每日codewars题之判断一个数是否是水仙花数
  11. oracle查询当天数据三种方式性能对比
  12. 一次成功的mybatis-plus级联查询
  13. jdk6版本下载地址
  14. Linux实操篇-用户管理
  15. [论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting
  16. 【转载】怎么设置博客背景
  17. 热辊的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 2023年软件设计师中级(考点分析+复习笔记+历年真题+电子版课本)
  19. 欢迎访问我的个人博客:www.zou8944.com
  20. “屌丝”真实逆袭经历,大专毕业到成为公司的Java方向核心技术骨干,我的学习经历值得你借鉴!

热门文章

  1. 彼得林奇的成功投资---学习之一
  2. 周末C语言基础学习小结
  3. Anaconda 更换浏览器要求输入token
  4. 计算机运维机构管理制度,信息化机房运维管理制度
  5. excel中统计COUNTIFS的值为0
  6. 文件恢复:Docrepair-MS Word文档修复软件
  7. 一万年很长,所以只争朝夕
  8. 将图片中的公式转化为latex代码(image to latex)。两种方法:python包或者snip软件
  9. 一键seo提交收录_百度网站提交,选择主动提交,还是被动收录?
  10. 在‘句子迷’爬取网友总结的方文山歌词并作词频统计