在 Android 中使用 OkHttp 客户端时 header 值中的意外字符 0x0a
Unexpected char 0x0a in header value when using OkHttp client in Android
当使用 Http 发送一个 Base64 编码的字符串 header 时,我得到错误响应
Unexpected char 0x0a at 28 in header value: I99Uy+HjG5PpEhmi8vZgm0W7KDQ=
用法:
String encodedHeader = Base64.encodeToString(value.getBytes(), Base64.DEFAULT);
header.put("auth", encodedHeader);
0x0a
是在 header 中禁止使用的换行符。
解决方案是确保在将编码值发送为 header.
之前删除这些字符
Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
这避免了用特定于平台的换行符换行。
当使用 Http 发送一个 Base64 编码的字符串 header 时,我得到错误响应
Unexpected char 0x0a at 28 in header value: I99Uy+HjG5PpEhmi8vZgm0W7KDQ=
用法:
String encodedHeader = Base64.encodeToString(value.getBytes(), Base64.DEFAULT);
header.put("auth", encodedHeader);
0x0a
是在 header 中禁止使用的换行符。
解决方案是确保在将编码值发送为 header.
Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
这避免了用特定于平台的换行符换行。