我的一个小程序刚刚爆发,因为看起来,我以编程方式浏览的网站现在假定Java请求来自手机,我正在寻找的链接不在他们的移动页面上.
所以我想伪造Internet Explorer访问权限.我如何用java.net做到这一点?
假设您正在使用java.net.URLConnection,则调用setRequestProperty(String,String)将请求标头设置为IE将使用的值.例如,假冒IE6:
URL url = new URL("http://google.com"); URLConnection connection = url.openConnection(); connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 1.2.30703)");
然后像以前一样使用连接对象.
但java.net太可怕了.使用Apache Commons HttpClient,它更好.
更好的是,使用专为浏览网站而设计的框架,例如HtmlUnit