OKHTTP 3.12.0 以后版本 headers 中不可携带中文

今天遇到的报错:

java 复制代码
java.lang.llegalArgumentException: Unexpected char 0x957f at 0 in x-brand value: 电视

堆栈
okhttp3.Headers.checkValue(Headers.java:272)
okhttp3.Headers$Builder.add(Headers.java:312)
okhttp3.Request$Builder.addHeader(Request.iava:196)

查了下源码,才发现 okhttp 在 3.12.0 版本开始,在okhttp3的 Headers 中新增了一组函数:

传入中文开始会无法通过检查而 crash

在 Unicode 字符集中,\u001f\u007f 之间包含了一些特殊字符、标点符号、数字、大写字母、小写字母以及其他常见的 ASCII 字符。这个范围通常是指 ASCII 控制字符和可打印字符。

以下是 \u001f\u007f 之间的一些常见字符:

  • ASCII 控制字符(\u0000\u001f):

    • \u001f: Unit Separator
    • \u001e: Record Separator
    • \u001d: Group Separator
    • 等等
  • 可打印 ASCII 字符(\u0020\u007e):

    • 空格
    • 数字 0-9
    • 大写字母 A-Z
    • 小写字母 a-z
    • 标点符号 , . ! ? 等等

这个范围包括了 ASCII 字符集中的大部分常用字符,涵盖数字、字母、标点符号以及一些特殊字符。在文本处理和编程中,这些字符通常被认为是可打印字符或者基本的控制字符。

相关推荐
前端百草阁2 天前
【吃透 Promise】从基础到面试高频(手写 + 输出题 + 原理)
okhttp·面试·职场和发展
ppandss13 天前
JavaWeb从0到1-DAY4-AJAX
前端·ajax·okhttp
4311媒体网7 天前
织梦CMS点击率统计实现方法
okhttp
帅次8 天前
链路到端上:HTTPS 之后安全题还在考什么
android·okhttp·glide·zygote·retrofit
djk88889 天前
layui zTree 控件 AJAX绑定 点击tree事件 获取tree值
ajax·okhttp·layui
明天就是Friday10 天前
Android实战项目④ OkHttp WebSocket开发即时通讯App 完整源码详解
android·websocket·okhttp
xiangxiongfly91511 天前
Android 使用WebSocket通信
android·websocket·网络协议·okhttp
研☆香12 天前
聊聊什么是AJAX
前端·ajax·okhttp
sunwenjian88614 天前
跨域问题解释及前后端解决方案(SpringBoot)
spring boot·后端·okhttp
XiaoLeisj16 天前
Android 短视频播放详情页实战:从播放器模块拆分、Media3 与 FlowHelper 接入,到 ViewPager 高度适配和详情数据联动
android·okhttp·音视频·架构设计·flowhelper