在 Android 中使用 OkHttp 客户端时,标头值中出现意外的字符0x0a

2022-09-01 04:59:57

使用 Http 将 Base64 编码的字符串作为标头发送时,我收到的错误响应为

Unexpected char 0x0a at 28 in header value: I99Uy+HjG5PpEhmi8vZgm0W7KDQ=

用法:

String encodedHeader = Base64.encodeToString(value.getBytes(), Base64.DEFAULT); header.put("auth", encodedHeader);


答案 1

0x0a是标头中禁止的换行符。解决方案是确保在将编码值作为标头发送之前去除这些字符。

Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);这样可以避免使用特定于平台的换行符进行换行。


答案 2

推荐