0

用HttpURLConnection请求百度搜索地址,在pc中运行

            URL url = new URL("http://www.baidu.com/s?wd=xxxx");
             HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
             httpURLConnection.setRequestMethod("GET");// 提交模式
             String s = IOUtil.in2String(httpURLConnection.getInputStream());
             System.out.println(s);

可以返回正确的搜索后的html内容。
但是在android端相同的代码返回的内容缺不对。
试过了设置跟pc端同样的请求头一样无效。请问如何处理?

查看全部 2 个回答

0

确定请求头完全一样吗?你可以通过chrome里面的移动设备调试可以看到手机访问这个页面的返回的页面是什么,一般百度网站针对移动端的代码处理是靠User-Agent

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1

诸如这种形式,如果其中包含了移动端的信息便会获取移动端相关的数据