从java程序模拟移动Web浏览器

时间:2012-04-02 14:04:16

标签: java browser mobile

我正在尝试使用java程序加载网页的移动版本,以便轻松地从网页中提取少量信息。

在Firefox中,添加用户代理切换器插件后,我添加了一个值为

的新用户代理
"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"

在此之后,如果我尝试加载http://www.bbc.co.uk/,则会成功加载网页的移动版本。

但是我试图通过设置User-Agent使用apache httpclient库对java程序做同样的事情,如下所示:

HttpClient httpclient = new DefaultHttpClient();

HttpProtocolParams.setUserAgent(httpclient.getParams(),
  "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413");

但我没有获得相同链接的移动版本。

我希望重定向会在这里自动发生,我会在修改用户代理时获取页面的移动版本。

你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

HttpClient不支持JavaScript redirection

  

请注意,HttpClient不是浏览器。重要的是它缺少UI,缓存,HTML渲染器和JavaScript引擎。要了解有关HttpClient范围的更多信息,请参阅HttpClient Primer

也许您可以尝试在这些问题中提出的解决方案

答案 1 :(得分:0)

你是否在HttpClient上设置了跟踪重定向?