java获取网页
来源:互联网 发布:哈工程教务处网络选课 编辑:程序博客网 时间:2024/05/18 00:35
已收录到http://www.qq-live.com/index.php?app=blog&id=1
/*
* To change this template, choose Tools | Templates* and open the template in the editor.
*/
package http_request;
import java.io.BufferedReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.X509Certificate;
/**
* @author think
*/
public class WebPageReader
{
public static String readContentsFromUrl(String urlString)
{
/*
* fix for
* Exception in thread "main" 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
*/
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) { }
public void checkServerTrusted(X509Certificate[] certs, String authType) { }
}
};
SSLContext sc = null;
try {
sc = SSLContext.getInstance("SSL");
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(WebPageReader.class.getName()).log(Level.SEVERE, null, ex);
}
try {
sc.init(null, trustAllCerts, new java.security.SecureRandom());
} catch (KeyManagementException ex) {
Logger.getLogger(WebPageReader.class.getName()).log(Level.SEVERE, null, ex);
}
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
/*
* end of the fix
*/
URLConnection connection = null;
BufferedReader in = null;
String content = null;
try
{
URL url = new URL(urlString);
connection = url.openConnection();
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String newLine = System.getProperty("line.separator");
String inputLine = null;
StringBuilder stringBuilder = new StringBuilder();
while ((inputLine = in.readLine()) != null)
{
stringBuilder.append(inputLine).append(newLine);
}
content = stringBuilder.toString();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if(in != null)
{
try
{
in.close();
}
catch (IOException e)
{
//Ignore
}
}
}
System.out.println(content);
return content;
}
}
- java 获取网页内容
- java 获取网页内容
- java 获取网页源码
- java 获取网页源代码
- java获取网页内容
- java获取网页源码
- Java获取网页源代码
- java获取网页
- Java获取网页源代码
- java 获取网页源代码
- java获取网页源文件
- Java获取网页编码
- JAVA获取网页源码
- Java获取网页内容
- java获取网页字符集
- 用java获取网页源文件
- java获取网页HTML代码
- Java程序获取网页源代码
- 浅谈Java的volatile
- 知道hash值如何搜索文件
- 淘宝网店装修模板尺寸大小及格式大全
- Fedora14 Samba 配置
- 编译c++ demo
- java获取网页
- IE10 下CSS3选择器及动画(animation)效果实例教程
- 杭电2043
- 翻硬币
- JAVA 在 ACM 中的使用
- UCCX客户端XP系统中报错:java.lang.NullPointerException
- OpenCV2 直方图均衡化
- 图像处理之泛洪填充算法(Flood Fill Algorithm)
- Eclipse上GIT插件EGIT使用手册