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 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
脉动数据行情1 天前
Java OkHttp 对接国际期货批量行情 SpringBoot 定时落库实践
java·spring boot·okhttp
牧瀬クリスだ6 天前
Ajax入门:从原生XHR到axios实战
java·spring boot·ajax·okhttp
墨天梦10 天前
B15_HTTP解析与OkHttp拦截器
网络协议·http·okhttp
没差c1 个月前
RetrofitClient写接口、导包、配置、路径
java·spring boot·okhttp
事圆则缓1 个月前
OkHttp + Retrofit 协作原理
okhttp·retrofit
降临-max1 个月前
接口自动化(TestNG+OKHttp)
软件测试·okhttp·自动化·testng
吴声子夜歌1 个月前
Java扩展——OkHttp
java·开发语言·okhttp
额鹅恶饿呃1 个月前
Asynchronous JavaScript And XML(异步的JS和XML )
okhttp
泡海椒1 个月前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp