java – Unexpected char 0x0a in header value when using OkHttp client in Android-ThrowExceptions

Exception or error:

When sending a Base64 encoded string as header using Http, I am getting error response as

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

Usage :

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

How to solve:

0x0a is a newline character which is forbidden in a header.
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).

Leave a Reply

Your email address will not be published. Required fields are marked *