360SDN.COM

首页/Java/列表

java使用开源Htmlunit 创建webclient 模拟浏览器进行解析页面(支持代理)

来源:  2017-08-30 17:09:56    评论:0点击:

java使用开源Htmlunit 创建webclient 模拟浏览器进行解析页面(支持代理)
1.该方法支持HTTP代理访问

2.集体的代码如下,改方法用的是模拟Firefox页面
public static final String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0";
//创建Webclient成功
public void WebclientCreat(String proxyHost, int proxyPort) {
        // 用http代理
        webClient = new WebClient();
        //设置代理  
        ProxyConfig proxyConfig = webClient.getOptions().getProxyConfig();   
        proxyConfig.setProxyHost(proxyHost);    
        proxyConfig.setProxyPort(proxyPort);
        try {
            webClient.getBrowserVersion().setUserAgent(userAgent);
            webClient.setRefreshHandler(new ThreadedRefreshHandler());
            //禁用Css,可避免自动二次请求CSS进行渲染  
            webClient.getOptions().setCssEnabled(false);
            //启动js
            webClient.getOptions().setJavaScriptEnabled(false);
            //运行报错不抛出异常
            webClient.getOptions().setThrowExceptionOnScriptError(false);
            webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
            webClient.getOptions().setRedirectEnabled(true);
            //时间
            webClient.getOptions().setTimeout(120000);
            //忽略ssl认证  
            webClient.getOptions().setUseInsecureSSL(true);
            webClient.setJavaScriptTimeout(300000);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
这里是在webclient创建成功之后访问页面
public void StartWebclient(){
    //访问的URL,suhu
    String url = "https://www.sohu.com/";
    //访问URL,将html页面渲染出来
    HtmlPage page = webClient.getPage(url);
    //能够查看sohu的主页面源码
    System.out.println(page.asXml());
}
为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权