如何从 okhttp 库发送标头中的特殊字符,如 å

rog*_*dow 5 android okhttp

是否可以从 okhttp 库发送标头中的特殊字符?现在我的应用程序崩溃并显示以下错误:

\n\n
java.lang.IllegalArgumentException: Unexpected char 0xe5 at 1 in username value: p\xc3\xa5fyll\n                                                   at okhttp3.Headers$Builder.checkNameAndValue(Headers.java:320)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这就是我发送请求的方式。

\n\n
okhttp3.Request request = new okhttp3.Request.Builder()\n            .url(AppConfig.CONCERT_LIST)\n            .addHeader("Content-Type", "application/json; charset=UTF-8")\n            .addHeader("username", "p\xc3\xa5fulo")\n            .addHeader("accessToken", "12345ASDFGsf98")\n            .build();\n
Run Code Online (Sandbox Code Playgroud)\n

Mak*_* V. 0

事情没那么简单,您必须对其进行编码并让服务器对其进行解码。

您可以在这里找到有关此问题的更多信息: https://github.com/square/okhttp/issues/2016