我正在尝试使用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/,网页的移动版本加载成功。
但我正在尝试使用apache httpclient库对java程序执行相同的操作,方法是设置User-Agent,如下所示:
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");但是我没有得到相同链接的手机版本。
我希望重定向将自动发生在这里,我将获得移动版本的页面,因为用户代理被修改。
你能帮我解决这个问题吗?
发布于 2012-04-05 19:33:30
HttpClient不支持JavaScript redirection。
请注意,HttpClient不是浏览器。重要的是,它缺少UI、缓存、HTML渲染器和JavaScript引擎。要了解有关HttpClient范围的更多信息,请参阅HttpClient入门
也许你可以尝试这些问题中提出的解决方案。
发布于 2012-04-02 22:57:27
你在HttpClient上使用setFollowRedirects了吗?
https://stackoverflow.com/questions/9977935
复制相似问题