在用jsoup访问页面时报错
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
这是由于安全认证的问题,网上解决办法很多,
我们只需要在Jsoup.connect(webSite)之前添加方法忽略证书信任问题
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
java代码:
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;
}
}
参考:http://mengyang.iteye.com/blog/575671网站
分享到:
相关推荐
Maven坐标:org.jsoup:jsoup:1.11.3; 标签:jsoup、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
jsoup.jar-1.8.1版本,可以把url中的html代码解析出来,非常好
Maven坐标:org.jsoup:jsoup:1.14.3; 标签:jsoup、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
获取网页文本 例如: String body = Jsoup.connect("http://www.baidu.cn").execute().body(); System.out.println(body);
jsoup-example:http:nolambda.streamhtml-parsing-with-jsoup的代码示例
Jsoup可以从网站URL,文件或字符串中获取或解析HTML,提供完整的方法操作HTML元素,属性和文本(含源码)
Maven坐标:org.jsoup:jsoup:1.11.3; 标签:jsoup、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
Maven坐标:org.jsoup:jsoup:1.10.3; 标签:jsoup、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
Maven坐标:org.jsoup:jsoup:1.14.3; 标签:jsoup、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
jsoup-haowanba:一个java库,用来尝试对[好玩吧](http
演示-jsoup 尝试使用 jsoup
spring-xml-jsoup-example:一个示例Spring Boot演示,该示例读取XML并使用jSoup对其进行解析
jsoup:Java HTML解析器jsoup是一个用于处理实际HTML的Java库。 它使用HTML5最佳DOM方法和CSS选择器,为获取URL以及提取和处理数据提供了非常方便的API。 jsoup实现规范,并将HTML解析为与现代浏览器相同的DOM。 从...
Maven坐标:org.jsoup:jsoup:1.10.3; 标签:jsoup、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
esigate-jsoup-example 有关如何使用EsiGate和Jsoup实时转换页面的示例
jsoup-annotations Jsoup Annotations POJO Gradle Dependency Step 1. Add the JitPack repository to your build file allprojects { repositories { ... maven { url 'https://jitpack.io' } } } Step...
使用jsoup构建爬虫程序 爬取寻医问药网站的医疗数据 使用jsoup api发起http请求,使用jsoup选择器解析页面数据 使用mybatis将爬取的数据写入mysql数据
JAR包—jsoup HTML抓取:可以去掉html标签或者提取部分内容
jsoup:Java HTML 解析器 jsoup是一个用于处理现实世界 HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器,提供了一个非常方便的 API,用于获取 URL 以及提取和操作数据。 jsoup实现了WHATWG HTML5规范...
Jsoup1.11.1和HTTPClient 4.5.3的最新全部jar包,官网下载