博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用jsoup或者httpclient解析https协议通用方法
阅读量:4110 次
发布时间:2019-05-25

本文共 1052 字,大约阅读时间需要 3 分钟。

需求:

基于jsoup或者httpclient爬取https数据的时候涉及到权限认证

实现:

直接在HttpsURLConnection的时候加入check操作

public static void checkQuietly() {		try {			HttpsURLConnection					.setDefaultHostnameVerifier(new HostnameVerifier() {						public boolean verify(String hostname,								SSLSession session) {							return true;						}					});			SSLContext context = SSLContext.getInstance("TLS");			context.init(null, new X509TrustManager[] { new X509TrustManager() {				public void checkClientTrusted(X509Certificate[] chain,						String authType) throws CertificateException {				}				public void checkServerTrusted(X509Certificate[] chain,						String authType) throws CertificateException {				}				public X509Certificate[] getAcceptedIssuers() {					return new X509Certificate[0];				}			} }, new SecureRandom());			HttpsURLConnection.setDefaultSSLSocketFactory(context					.getSocketFactory());		} catch (Exception e) {			e.printStackTrace();		}	}

PS:

涉及到证书或者自己业务单独剥离实现,原理类似

调用的时候:

checkQuietly() ;Connection conn = Jsoup.connect(url).userAgent(MOZILLA_AGENT)		.timeout(TIME_OUT);

 

转载地址:http://reqsi.baihongyu.com/

你可能感兴趣的文章
为什么快排比堆排快
查看>>
weak_ptr打破环状引用
查看>>
进程、线程比较
查看>>
线程、进程间的通信方式
查看>>
空结构体与空指针的大小
查看>>
洗牌算法
查看>>
bitmap海量数据
查看>>
预处理阶段
查看>>
模板与宏的区别(2019.10.22)
查看>>
TCP如何保证可靠传输
查看>>
静态链接、动态链接、静态重定位、动态重定位(2019.10.22)
查看>>
含有虚函数的空类的内存大小
查看>>
多态及分类(2019.10.23)
查看>>
构造函数与析构函数的调用顺序
查看>>
什么时候析构函数需要定义为虚函数
查看>>
new/delete与malloc/free的异同
查看>>
C++线程安全的单例模式
查看>>
强制类型转换
查看>>
为什么构造函数不能声明为虚函数?
查看>>
条件变量
查看>>