简体   繁体   English

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

[英]Unexpected char 0x0a in header value when using OkHttp client in Android

When sending a Base64 encoded string as header using Http, I am getting error response as 使用Http将Base64编码的字符串作为标头发送时,我收到错误响应

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

Usage : 用法:

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

0x0a is a newline character which is forbidden in a header. 0x0a是标题中禁止的换行符。 Solution would be to make sure that these characters are stripped off before sending the encoded value as header. 解决方案是确保在将编码值作为标头发送之前剥离这些字符。

Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); this avoids wrapping with a platform specific newline character(s). 这避免了使用特定于平台的换行符进行换行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM