在用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-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jarjsoup-...
**jsoup库详解** jsoup是一个Java库,用于处理实际世界中的HTML。它提供了一种易于使用的API,用于提取和操作数据,具有浏览器一样的解析和筛选能力。在Java爬虫领域,jsoup扮演着至关重要的角色,使得开发者能够...
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);
Maven坐标:org.jsoup:jsoup:1.11.3; 标签:jsoup、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
implementation 'org.jsoup:jsoup:1.14.3' ``` **基本使用** jsoup的核心类是`Jsoup`,通过它我们可以连接到指定URL并解析网页内容。例如,获取`http://example.com`的HTML文档: ```java import org.jsoup.Jsoup...
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”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
2. **CSS选择器**:Jsoup支持CSS选择器,可以轻松地定位和提取页面上的元素。 3. **DOM操作**:类似于jQuery,Jsoup允许你修改DOM,添加、删除或更新HTML元素。 4. **安全爬取**:Jsoup还提供了一些内置的安全机制,...
jsoup-haowanba:一个java库,用来尝试对[好玩吧](http
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”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
implementation 'org.jsoup:jsoup:1.14.x' // 使用最新的Jsoup版本号 } ``` 在描述中提到的博客链接,"http://www.blogjava.net/pengo/archive/2011/03/14/346176.html的附件源码",可能提供了示例代码或更详细的...
**jsoup简介** `jsoup` 是一个Java库,它提供了强大的功能,用于解析HTML文档并提取结构化数据。这个库的设计目标是使处理网页变得简单、安全且有效。它支持DOM、CSS选择器以及类似于jQuery的操作方法,使得在Java...
**三、Jsoup选择器解析页面数据** Jsoup提供了丰富的选择器来定位网页上的元素。例如,我们可以使用CSS选择器来选取特定的元素: ```java Elements elements = doc.select("div.classname"); ``` 对于更复杂的查询...
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...
implementation 'org.jsoup:jsoup:1.14.3' } ``` 这将确保你的项目可以使用Jsoup的所有功能。 2. **连接与解析** 使用Jsoup的`connect()`方法来建立到网页的连接,然后调用`get()`方法获取HTML内容: ```java...
implementation 'org.jsoup:jsoup:1.11.3' } ``` 总的来说,JSoup是一个强大的HTML解析和抓取工具,适用于Java开发者。无论是简单的网页信息提取,还是复杂的Web抓取任务,它都能提供可靠的支持。不同版本的JSoup...