在android中请求http://www.baidu.com/s?wd=xxxx

新手上路,请多包涵

用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端同样的请求头一样无效。请问如何处理?

阅读 3.7k
2 个回答

你表述问题不太清楚
建议你说明你请求头与PC相同是什么概念
是说你用普通的java代码请求这个地址时,请求头与浏览器相同还是怎么样

确定请求头完全一样吗?你可以通过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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题