okhttp3中Header增加不成功(value被Base64加密)

可以说很是激动了,一直下定决心要写博客,记录自己编程之路每次犯下的错误,以便痛改前非,可无奈大千世界,很是不赶趟,所以一直拖延至今,下面开始讲相关问题;

看了后台给出的接口文档,要求用post请求,然后带Header,带body,很普通啊,然后Header中的value想被Base64密一下,所以我的Header是这样的:

HTTP Headers
Content-Type
application/x-www-form-urlencoded 或 application/json
Authorization

Basic base64(mac:icntvid)

到这也没什么,加密就加密呗,加密后没事我就运行了,然后在okhttp3中Header增加不成功(value被Base64加密)_第1张图片

这一行直接报了个java.lang.IllegalArgumentException: Unexpected char …,定睛一看,这不是说我Header里面有中文么,可是Base64加密后带中文,我打死也不信啊,然后我就又

String str=URLEncoder.encode(str);

这一下子看到了这个,okhttp3中Header增加不成功(value被Base64加密)_第2张图片,多了个%0A,%3A我知道是:啊,可是这个,我查了一下URL编码表,发现他竟然是linefeed,就一个换行符,现在知道了,果断手动把最后那个换行符给去掉了,不知道这样好不好,反正是可以跑了,接口也能访问了,我就很开心了,在这里记录下。

上面都是我自己的拙作,如果哪里有不妥,欢迎斧正,万分感谢,谢谢,手动鞠躬。



你可能感兴趣的:(okhttp3中Header增加不成功(value被Base64加密))