Okhttp设置User-Agent你可能没遇到的坑

  • Http Header之User-Agent
       User-Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent页简称UA。她是一个特殊字符串头,是一种想访问网站提供你说使用的浏览器类型和版本,操作系统和版本,浏览器内核等信息的标识,用户所访问的网站可以显示不同的排版,而为用户提供更好的体验或者进行信息统计

  • 获取OkHttp正确的User-Agent

Okhttp走的并不是原生的http请求,因此他在header里面并没有真正的User-Agent,而是”okhttp/版本号”这样的字符串,因此后台需要统计信息,要求传入正确的User-Agent,那么我们如何User-Agent并设置给Okhttp?

    /*** 返回正确的UserAgent* @return*/private  static String getUserAgent(){String userAgent = "";StringBuffer sb = new StringBuffer();userAgent = System.getProperty("http.agent");//Dalvik/2.1.0 (Linux; U; Android 6.0.1; vivo X9L Build/MMB29M)for (int i = 0, length = userAgent.length(); i < length; i++) {char c = userAgent.charAt(i);if (c <= '\u001f' || c >= '\u007f') {sb.append(String.format("\\u%04x", (int) c));} else {sb.append(c);}}LogUtils.v("User-Agent","User-Agent: "+ sb.toString());return sb.toString();}
  • 给Okhttp设置User-Agent:
new Request.Builder().url(url).headers(headers2).put(body).removeHeader("User-Agent").addHeader("User-Agent",getUserAgent()).build();

Android踩坑日记:Okhttp设置User-Agent你可能没遇到的坑相关推荐

  1. Android踩坑日记:RecyclerView中EditText和ImageView的ViewHolder复用坑

    RecyclerView中EditText和ImageView的ViewHolder复用坑 RecyclerView作为ListView的升级版,目前来讲讲开发过程遇到的坑. RecyclerView ...

  2. 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】

    Flutter混合开发踩坑日记之'applicationVariants' for extension 'android' 正文 坑一:Could not get unknown property ' ...

  3. ReactNative 在丁香医生项目中引入的踩坑日记

    ReactNative 在丁香医生项目中引入的踩坑日记 this没绑定到函数导致空指针 参考 React-Native 踩坑第二弹-undefined is not a function(evalua ...

  4. 【Android踩过的坑】5.android.content.res.Resources$NotFoundException: String resource ID #0x0

    [Android踩过的坑]5.android.content.res.Resources$NotFoundException: String resource ID #0x0 情况: TextView ...

  5. Android踩坑之 couldnt find libClingSDK.so

    Android踩坑之couldn't find "libClingSDK.so" 在android开发中一些涉及到硬件级的API需要引入第三方的sdk,通常都是一个jar包搭配一个 ...

  6. Win11 + Ubuntu18.04 双系统踩坑日记

    Win11 + Ubuntu18.04 双系统踩坑日记 前言 准备工作 硬件配置 镜像下载 Win11镜像下载 Ubuntu镜像下载 启动盘准备 Win11启动盘 Ubuntu启动盘 Win11安装 ...

  7. Antd Pro V4 protable详解(ps:踩坑日记)

    Antd Pro V4 protable详解(ps:踩坑日记) 写在前面: 在这篇文章中,你会了解到: protable 中的cloumns属性详解 protable数据加载和处理(两种方法,直接使用 ...

  8. midjourney指令笔记+踩坑日记+gpt论文润色指令

    跟人拼团入手了midjourney,长期记录更新. midjourney指令笔记+踩坑日记 指令笔记 踩坑日记 GPT论文润色指令 指令一 指令二 指令三 指令四 指令五 指令笔记 关键词参考网址:p ...

  9. 全志哪吒D1-H Tina Linux Ubuntu 22.04入门踩坑日记

    哪吒D1-H Tina Linux入门踩坑日记 系统环境 源码编译 mklibs-readelf的C++标准问题 m4的SIGSTKSZ问题 libfakeroot的_STAT_VER问题 read_ ...

最新文章

  1. MongoDB 索引
  2. win10 看不到其它计算机,w10网上邻居搜索不到其它电脑怎么办
  3. [转]对于非数据库字段的查询过滤以及app_query.append的用法
  4. 活动目录实战系列七(降级主DC为成员服务器)
  5. h5 nan_手把手教你将H5游戏打包成快游戏
  6. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
  7. android 网络程序下载,Android从网络上下载文件
  8. 销毁Session和清空指定的属性
  9. VS 2013 所有产品密钥
  10. OPencv 灰度直方图、直方图规定化
  11. iPhone X改11Pro在线/免越狱QQ空间任意iPhone机型虚拟定位
  12. Ant Design Vue
  13. python 批量修改图片尺寸
  14. 谷歌/FOFA搜索引擎使用
  15. python程序 爱意_情人节到了,隔离在家的你还不快用Python给你的她表达下爱意?...
  16. RAID5和RAID10在磁盘读写选择对比
  17. (转)网上摘抄:计算数学研究方向及网上资料
  18. POJ 2656 Unhappy Jinjin(水~)
  19. 华为手机_text是什么文件_AS读取华为手机内置SD卡文件时,找不到文件问题
  20. 25k成功入职京东:拿到京东软件测试岗位offer经验分享

热门文章

  1. linux 块设备驱动 (三)块设备驱动开发
  2. C++ Primer 5th笔记(chap 19 特殊工具与技术)成员函数指针
  3. Bitcoin 中的挖矿算法(1) 难度值前奏
  4. 简单点名小程序(伪)----android开发
  5. 并发安全Sync包的使用
  6. 删除有序数组中的重复项(数组去重)
  7. std:forward 完美转发
  8. IO和属性配置文件之组合拳
  9. 【渗透测试】一次授权的渗透测试——建议收藏
  10. Parallels高危漏洞的奇葩修复指南