web-dev-qa-db-ja.com

AndroidでOkHttpクライアントを使用すると、ヘッダー値に予期しない文字0x0aが

Httpを使用してBase64エンコードされた文字列をヘッダーとして送信すると、次のようなエラー応答が返されます。

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

使用法 :

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

19
priyankvex

_0x0a_は、ヘッダーで禁止されている改行文字です。解決策は、エンコードされた値をヘッダーとして送信する前に、これらの文字が削除されることを確認することです。

Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);これにより、プラットフォーム固有の改行文字での折り返しが回避されます。

38
priyankvex