如何在Android应用里对HTTP请求头部添加适当的User-Agent字段
答案:2 悬赏:60 手机版
解决时间 2021-02-24 21:22
- 提问者网友:心牵心
- 2021-02-24 13:12
如何在Android应用里对HTTP请求头部添加适当的User-Agent字段
最佳答案
- 五星知识达人网友:封刀令
- 2021-02-24 14:03
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来说,默认情况下的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楼网友:执傲
- 2021-02-24 15:18
一般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));
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯