Jsoup解析网址与浏览器查看内容不一致

开发过程中,用Jsoup解析糯米团购网站页面的时候,发现取得的页面和浏览器查看到的页面不一样,而是手机页面。

程序代码如下:

1
content = Jsoup.connect( "http://www.nuomi.com" ).timeout( 6000 ).get();//取得整个页面内容;

经过跟踪代码执行,发现content取得的内容和用浏览器直接访问的内容不一样。

经过查询资料,发现是User-Agent 的问题,在Jsoup中默认没有指定User-Agent,网站的服务器则认为这个访问来自手机,返回的是手机的页面。

将User-Agent加入到Jsoup中,问题解决。

代码如下:

1
2
3
content = Jsoup.connect(url)
           .userAgent( "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
           .timeout( 6000 ).get(); //取得整个页面内容;

以上代码是模拟的IE9的User-Agent信息,下面是各个版本浏览器的User-Agent信息。

IE6:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

IE7:Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

IE8:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)

IE9:Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

Maxthon:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.0 Chrome/22.0.1229.79 Safari/535.12

Firefox:Mozilla/5.0 (Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20100101 Firefox/8.0

Chrome:Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/535.12

Opera:Opera/9.99 (Windows NT 5.1; U; zh-CN) Presto/9.9.9

Safari:Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Version/5.0.1 Safari/535.12

你可能感兴趣的:(JSoup)