一般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));

希望这个方法能够方便广大App开发者用户!

转载于:https://www.cnblogs.com/lenovoengineer/archive/2013/02/06/Android-User-Agent.html

如何在Android应用里对HTTP请求头部添加适当的User-Agent字段相关推荐

  1. android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?

    如何在Android Studio中的模拟器图库中添加图像? 我正在开发图像过滤器应用程序. 但是,如果我没有任何图像,就无法真正尝试. 我知道我可以在电话中对其进行测试,但这并不相同,因为我需要错误 ...

  2. Charles+Android模拟器里抓http请求(配置模拟器教程)

    在安卓夜神模拟器里的相关操作 (注意:在安卓手机真机时也是相同的操作哦) 1.前提条件: 自己电脑和模拟器里使用的是同一个WiFi 2.模拟器要做以下步骤** 2.1打开手机的[设置] 2.2 点击[ ...

  3. 如何在Android Studio里关掉instant run

    https://stackoverflow.com/questions/35168753/instant-run-in-android-studio-2-0-how-to-turn-off 要获取更多 ...

  4. 如何在Android Studio里下载模拟器

    打开Andriod Studio到准备写代码的界面 然后找到如下图的位置(AVD Manager),点击此处 点进去后继续,看到如下界面,可以点下面红框位置 然后点击next,接着继续next,就会开 ...

  5. android edittext 动画,如何在Android中的TextView或EditText中添加动画表情符号

    我会尝试: >将动画图像(可能是.gif文件?)拆分成单独的帧,然后将它们组合成一个AnimationDrawable,然后传递给ImageSpan的构造函数. > Subclass Im ...

  6. Android开发-在Android应用里嵌入腾讯广告联盟进行盈利实现

    前 言 对于个人开发者来说,独立开发一款基于网络App并且上线提供用户下载使用是需要花钱购买服务器的.而且当用户的并发量比较大时开发者所花费的维护应用的费用就越高,这时,个人开发者需要在应用里嵌入广告 ...

  7. android支付宝支付微信支付封装,如何在Android App中集成支付宝和微信支付功能

    前言 本文主要介绍如何在 Android App 里集成支付宝和微信支付的功能,文中将实现的步骤一步步介绍的非常详细,对同样遇到这个问题的朋友相信会是一个很好的参考,下面话不多说了,来一起看看详细的介 ...

  8. Android开发-在Android应用里接入AdMob广告进行变现的实现

    前 言 前段时间,自己开发了一款个人的Android应用想上线,但是由于国内的应用商城对个人开发者不是很友好,即使应用已经申请了软件著作权了也不能上线的了,有些应用只能以企业的名义来上线不能以个人的名 ...

  9. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么. 网上的教程太复杂,不想麻烦. ...

  10. 如何在android中创建自定义对话框?

    本文翻译自:How to create a Custom Dialog box in android? I want to create a custom dialog box like below ...

最新文章

  1. HTML 全局属性(global attribute)有哪些?
  2. Python运维自动化psutil 模块详解(超级详细)
  3. MySQL如何创建表时指定约束
  4. Caffe 编译错误记录
  5. 锐捷EG易网关远程命令执行漏洞-1
  6. 实现div里的img图片水平垂直居中
  7. Docker 基本用法
  8. 将byte数组以html形式输出到页面,java 数组显示到html
  9. 水平布局的HTML表单
  10. Java CyclicBarrier介绍
  11. java+jdk+1.6.0+45+64_jdk1.6.0_45.tar.gz
  12. 数学建模——sas(1)——几种统计方法
  13. cic滤波器原理 MATLAB,cic滤波器(cic滤波器的原理和设计)
  14. pvacseq数据分析示例之准备数据,用VEP注释vcffile
  15. spark学习五——归属地计算案例
  16. Maximum upload size exceeded
  17. Fractional Fourier Image Transformer forMultimodal Remote Sensing Data Classification
  18. yum rpm 命令
  19. showdown解析markDown的使用方法
  20. 多线程学习(四)-线程范围内共享数据

热门文章

  1. 区块链 共识机制研究和传统一致性研究的区别
  2. layui jquery innerHTML 无效
  3. linux开机自动挂载ntfs,linux 开机自动挂载 NTFS 磁盘(Linux Mint、Ubuntu)[解决挂载 NTFS 后 Windows “快速启动”导致的只能只读模式挂载]...
  4. LeetCode最长回文子串
  5. serv u使用mysql数据库_Serv-u Mysql数据库用户
  6. MAC 下开发 不区分大小写问题及解决
  7. Solr 4.10.3 导入 Mysql 数据
  8. 阶段3 2.Spring_02.程序间耦合_6 工厂模式解耦
  9. sqldeveloper不能启动,显示Unable to create an instance of the Java Virtual Machine...的解决办法...
  10. Javascript模式——函数提升 (笔记)