中易网

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

答案:2  悬赏:40  
解决时间 2021-01-17 09:01
如何在Android应用里对HTTP请求头部添加适当的User-Agent字段
最佳答案
一般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));
全部回答
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));
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冰冻的甲鱼,怎么清洗,怎么吃,怎么办,怎么
1000Wled投光灯有吗?目前用过很多600W大功率
倒叙和插叙有什么区别?
勿信他人言,只须信己见什么意思
100减13.7怎么算
小米5尊享版是陶艺机身,会不会比其它手机容
沉香包头是什么意思能值多少一克
五点四比x=9分之一怎么算
市场价小四是是什么意思
吕梁地帮菜怎么做
3EX是什么意思?
如何使用composer安装phinx
按键精灵9脚本使用技巧关于QQ堂刷分脚本制作
听说雅座的运营中心在无锡,而我的餐饮门店在
巴拉克是哪五亚王
推荐资讯
必修一英语88页和89页习题答案
哪部男主是叶凡是之逆开头的小说
美容养生十几年自己开了五六年工作室,但是不
镇平县农机局地址有知道的么?有点事想过去
黄河远上白云间 唐诗的题目是什么?
全国有多少1968年出生叫李云飞
半开竹堂画廊地址好找么,我有些事要过去
哪个是正,图一,图二,
摸索了好久,发现proe出工程图真的是鸡肋,要
万达物流(桃州镇广溧路凤凰四里棚小区万达物
明末满洲八旗真的是当时世界上最强大的骑兵吗
新华和社保区别
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?