You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OkHttpClient全局配置Header失效:调试时API请求未携带指定Header

解决OkHttpClient全局添加请求Header的问题

你用Authenticator来加全局Header是找错了工具——Authenticator只在请求返回401未授权的时候才会触发,用来生成带认证信息的重试请求,正常的API调用根本不会走到这个逻辑,所以Header自然不会被带上。

要给所有请求统一加Header,正确的做法是用Interceptor(拦截器),它能在每个请求发送前统一处理,代码改成这样就行:

val client = OkHttpClient.Builder()
        .addInterceptor { chain ->
            // 获取原请求
            val originalRequest = chain.request()
            // 构建新请求并添加Header
            val newRequest = originalRequest.newBuilder()
                .addHeader("authorization", "123")
                .build()
            // 继续执行修改后的请求
            chain.proceed(newRequest)
        }
        .connectTimeout(60, TimeUnit.SECONDS)
        .readTimeout(60, TimeUnit.SECONDS)
        .writeTimeout(60, TimeUnit.SECONDS)
        .build()
AndroidNetworking.initialize(applicationContext, client)

这个拦截器会拦截每一个即将发送的请求,复制原请求并添加上你需要的Header,再继续发送,这样所有API调用都会自动携带这个Header。

如果之后需要处理动态更新Header(比如token过期刷新),再结合Authenticator来处理重试逻辑就行,全局固定Header用Interceptor完全足够。

内容的提问来源于stack exchange,提问作者bala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 03:55:15