OkHttp3 添加Authorization 异常 Unexpected char 0x0a at 42 in Authorization value 解决

异常记录

导致错误:

2020-09-27 11:00:55.027 29224-29224/cn.sh.changxing.smec.dt E/AndroidRuntime: FATAL EXCEPTION: main
    Process: cn.sh.changxing.smec.dt, PID: 29224
    java.lang.IllegalArgumentException: Unexpected char 0x0a at 42 in Authorization value: Basic SjhERSFtRzNBRlVhS1FKNToyMDIwMDkyNw==
    
        at okhttp3.Headers$Builder.checkNameAndValue(Headers.java:352)
        at okhttp3.Headers$Builder.set(Headers.java:332)
        at okhttp3.Request$Builder.header(Request.java:184)

错误分析:第42处 出现 0x0a 字符!  0x0a:表示换行符。 好吧,在结尾处有换行符导致的异常(但打印的字符串并看不出来.....)

异常写法:

    private String getToken() {
        try {
            String salt = SPUtils.getInstance(MyApplication.getInstance()).getString(SPUtils.SP_IOT_BASIC_SALT);
            if (!TextUtils.isEmpty(salt)) {
                String str = salt + ":" + getSystemDate();
                String token = "Basic " + Base64.encodeToString(str.getBytes(), Base64.DEFAULT);
                Log.d(TAG, "getToken: str = " + str + "  token = " + token);
                return token;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

修改处:

String token = "Basic " + Base64.encodeToString(str.getBytes(), Base64.DEFAULT).replaceAll("\r|\n", "");

转码后,去除字符串中所有的换行符!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值