/**

* 过滤https协议

* @author edwin

*/

public class FiltratHttpsUtils {

static 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 {

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());

}

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;

}

}

public static void doFiltra() throws Exception {

trustAllHttpsCertificates();

HttpsURLConnection.setDefaultHostnameVerifier(hv);

}

}

只需要在请求前调用:FiltratHttpsUtils .doFiltra()即可。

package com.dao;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.Connection.Method;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

import com.dao.HttpsUrlValidator.FiltratHttpsUtils;

public class PhotoVerification {

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

try {

FiltratHttpsUtils .doFiltra();

String url="https://inv-veri.chinatax.gov.cn/index.html";

//HttpsUrlValidator.retrieveResponseFromServer(url);

//doc = Jsoup.connect(url).header("User-Agent",rand_agents).timeout(10000).get();

//body = doc.getElementsByTag("body").html();

//log.info(e.getMessage());

//

//通过Jsoup的Connect方法获取document类

Document document = Jsoup.connect(url).get();

//System.out.println(document.title());//控制台打印网页标题

//根据class获取Elements类

//Element timeElement = document.getElementById("yzminfo");//文字

//Element titleElement = document.getElementById("yzm_img");//图片的base64码

//

Element timeElement = document.getElementById("yzminfo");//文字

Element titleElement = document.getElementById("imgarea");//图片的base64码

System.out.println(timeElement);

System.out.println("----------------------");

System.out.println(titleElement);

//指定文件名及路径

//File file = new File("D:\\title.txt");

//File contentFile = new File("D:\\content.txt");

//if(!file.exists()){

//file.createNewFile();

//}

//if(!contentFile.exists()){

//contentFile.createNewFile();

//}

写入本地

//PrintWriter pw = new PrintWriter("D:\\title.txt");

//PrintWriter contentPw = new PrintWriter("D:\\content.txt");

//pw.close();

//

//

String href = titleElement.get(i).attr("href");//取出新闻标题的url

//String schoolHref = "http://www.haie.edu.cn/";

//因为取出来的新闻url不规范,直接访问不了,需要将其拼接成正常的网页url

//String contentHref = schoolHref+href;

//重复第一步的内容,根据URL取Documet类

//Document contentDoc = Jsoup.connect(contentHref).get();

//继续观察网页,取出新闻详细页面的文字。

//Elements contentElement = contentDoc.getElementsByClass("contentstyle125127");

//Elements authorElement = contentDoc.getElementsByClass("authorstyle125127");

//String content = contentElement.text();

//String author = authorElement.text();

//打印出作者,新闻详细内容

//contentPw.println(author);

//contentPw.println(content);

//contentPw.println("---------------------------");

//

//contentPw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

java跳过_java跳过https证书直接请求工具类相关推荐

  1. Java Https请求工具类

    个人技术网站 欢迎关注 由于微信API接口建议使用Https请求方式 而且过不久就废弃http请求方式了 所以提供以下Https工具类 public class SSLClient extends D ...

  2. 【Java】HTTP请求工具类

    前言 在工作中可能存在要去调用其他项目的接口,这篇文章我们实现在Java代码中实现调用其他项目的接口. 本章内容: 创建一个携带参数的POST请求,去请求其他项目的接口并返回数据. 附加HTTP请求工 ...

  3. http和https请求工具类

    https请求 @Slf4j public class HttpPostUtils {public static int RESPONSE_STATUS_OK = 0;public static JS ...

  4. Java中 LocalDate、LocalTime、LocalDateTime三个时间工具类的使用介绍

    Java中 LocalDate.LocalTime.LocalDateTime三个时间工具类的使用介绍 一.背景: 之前在做项目的过程中,对日期时间类没有一个系统的了解,总是在用的时候去搜索一下,解决 ...

  5. Java 常用HTTP请求工具类HttpUtils

    .pom依赖 <!-- httpclient --><dependency><groupId>org.apache.httpcomponents</group ...

  6. .NET WebApi调用微信接口Https请求工具类

    .NET WebApi调用微信接口Https请求工具类 using System; using System.Collections.Generic; using System.IO; using S ...

  7. java跳转_java 跳转语句

    Java 支持 3 种跳转语句:break,continue 和return .这些语句把控制转移到程序的其他部分.下面对每一种语句进行讨论. 注意:除了这里讨论的跳转语句,Java 还支持另一种能改 ...

  8. java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例

    本文实例讲述了Java实现的zip压缩及解压缩工具类.分享给大家供大家参考,具体如下: import java.io.BufferedInputStream; import java.io.Buffe ...

  9. java excel 取值_java实现Excel 单元格取值工具类

    在工作中经常遇到通过excel获取数据的需求,比如通过excel将数据提交到数据库等.现针对excel单元格的取值方法提取出来作为一个工具类. 具体代码如下: import org.apache.po ...

最新文章

  1. 关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)
  2. OpenCV之highgui 模块. 高层GUI和媒体I/O: 为程序界面添加滑动条 OpenCV的视频输入和相似度测量 用OpenCV创建视频
  3. 【NLP】GloVe的Python实现
  4. 【Linux】一步一步学Linux——unalias命令(206)
  5. 02-CSS基础与进阶-day9_2018-09-12-20-29-40
  6. PostgreSQL11 data数据库目录迁移
  7. 《跟我一起做J2EE版Blog–jPress》4(搭建marven下的Spring和Hibernate)
  8. 源码编译安装php-3.5.8
  9. node 压缩图片_设计神器!图片在线工具–Online Image Tool
  10. redis 可视化客户端工具
  11. ESP8266使用教程之初识
  12. JMeter基础 —脚本录制工具Badboy介绍
  13. Ant Design 与 Ant Design Pro
  14. java简历校园经历_简历中的校园经历怎么写
  15. java生成统计图_java生成各种统计图
  16. Jetson TX1 /TX2 对比介绍
  17. 阿里巴巴资深DBA的职业生涯总结
  18. 《MLB棒球创造营》:走近棒球运动·密尔沃基酿酒人队
  19. HourGlass源码阅读
  20. 关于函数中的return

热门文章

  1. html div阴影向上,css3阴影向上缓动样式
  2. klearn 文本分类_使用gensim和sklearn搭建一个文本分类器
  3. Oracle原理:表分区
  4. Oracle原理:11g中的网络配置
  5. python脚本迁移数据库_Python迁移MySQL数据到MongoDB脚本
  6. wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
  7. 安装Win7时出现“安装程序无法创建新的系统分区……”的解决办法
  8. 启明云端1.54寸串口屏使用经验分享
  9. 小型的网站服务器配置,中小型网站服务器配置参考
  10. springapplication.run运行多个应用_编程的十二要素应用宣言