Java中url获取最终地址
Java中的HttpClient或者HttpURLConnection的方法都是针对后台网址的转发跳转,如果有一个中间页面是js跳转window.location.href就抓瞎了,因为后台是没法调用到js方法的
这个时候可以使用爬虫方法抓取到整个页面,然后获取到url
缺点明显,慢而且大量使用会造成内存溢出,但总归有用,先记录下来
WebClient web = new WebClient(BrowserVersion.FIREFOX_60);
web.getOptions().setJavaScriptEnabled(true);// 启用JS解释器,默认为true
web.setJavaScriptTimeout(1000);// 设置JS执行的超时时间
web.getOptions().setCssEnabled(false);// 禁用css支持
web.getOptions().setThrowExceptionOnScriptError(false);// js运行错误时,是否抛出异常
web.getOptions().setTimeout(1000); // 设置连接超时时间
HtmlPage html = web.getPage(url);//填入url地址
System.out.println("html.getBaseURL():"+html.getBaseURL());
web.close();//用完记得关闭