一般Web浏览器在访问各个网站时,会在HTTP请求的Header里设置User-Agent字段,表示请求者的身份信息,比如在我华为U9200的Android手机上,打开Chrome浏览器后,每个访问请求的User-Agent字段如下:

?
Mozilla/5.0(Linux; Android 4.0.3; U9200 Build/HuaweiU9200)

对于安卓App来说,默认情况下的HTTP请求Header是不会带上这么一串字符串的。如果要带必须得自己构造了,我摸索了半天,还是找到了达到和浏览器同样格式的设置User-Agent的方法:

?
DefaultHttpClient httpClient =
new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url); // HttpPost httpPost = new HttpPost(url); // 如果是POST请求,则改为注释掉上面一行
// MY_APP_NAME为APP名称,MY_APP_VERSION_NAME为应用的版本名
httpGet.setHeader("User-Agent", String.format("%s/%s (Linux; Android %s; %s Build/%s)", MY_APP_NAME, MY_APP_VERSION_NAME, Build.VERSION.RELEASE, Build.MANUFACTURER, Build.ID));

更多相关文章

  1. 关于selenium android下的浏览器测试
  2. js 区分浏览器来源是PC端还是移动端
  3. JS唤醒Android APP(包括在外部浏览器和WebView)
  4. Javassist生成class(生成类,方法,字段,注解)
  5. Play 2.0生成隐藏字段而不使用div包装器
  6. JAVAWEB网站开发,一对多,多对一,主表与子表(主外键)相连接,会导致主表
  7. 根据用户的动态字段对链接列表进行排序
  8. javascript(六)js事件绑定浏览器兼容解决方案 attachEvent addEve
  9. MongoDB中的按组计算的字段

随机推荐

  1. Android高手进阶教程(三)之----Android
  2. Android编译系统makefile(Android.mk)说
  3. TabHost与RadioGroup结合完成的菜单
  4. 数据存储和界面笔记
  5. 【Android】Android上的Jetty
  6. Android的相对布局属性的解释
  7. Android学习之 UI效果
  8. 学习资源推荐
  9. Android之Actionbar顶部标签的使用
  10. Android工程导入jar文件步骤