Android Retrofit OkHttpClient Interceptor Add Header Gets Error“HTTP 403 Forbidden" [英] Android Retrofit OkHttpClient Interceptor Add Header Gets Error "HTTP 403 Forbidden"

查看:157
本文介绍了Android Retrofit OkHttpClient Interceptor Add Header Gets Error“HTTP 403 Forbidden"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我的目标是将 api key 嵌入到我的 Retrofit 对象中,这样我就不需要手动将它作为查询参数附加到 每个请求功能,然后我做了以下(学习:https://proandroiddev.com/headers-in-retrofit-a8d71ede2f3e):

So, my goal is to embed the api key into my Retrofit object so that I don't need to manually append it as query parameter inside each request function, then I did the following (learn from: https://proandroiddev.com/headers-in-retrofit-a8d71ede2f3e):

private val interceptor = Interceptor { chain ->
    val newRequest = chain.request().newBuilder().run {
        addHeader("api_key", Constants.API_KEY)
        build()
    }

    chain.proceed(newRequest)
}

private val okHttpClient = OkHttpClient.Builder().run {
    connectTimeout(15, TimeUnit.SECONDS)
    readTimeout(15, TimeUnit.SECONDS)
    addInterceptor(interceptor)    //<- apply Interceptor
    build()
}

//apply the okHttpClient to my Retrofit object...

但是它失败了并给出了这个错误:HTTP 403 Forbidden.

But it failed and gave this error: HTTP 403 Forbidden.

PS:在添加这个 Interceptor 之前一切正常

PS: Before adding this Interceptor everything works fine

之前:

@GET("neo/rest/v1/feed")
suspend fun getAsteroidsResult(
    @Query("start_date") startDate: String,
    @Query("end_date") endDate: String, 
    @Query("api_key") apiKey: String = Constants.API_KEY
): ResponseBody 

推荐答案

能否请您添加日志拦截器并设置日志级别并提供日志?

Could you please add log interceptor and set the log level and provide a log?

 compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'

像这样:

 OkHttpClient.Builder okBuilder = new OkHttpClient.Builder();
     okBuilder.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BASIC).setLevel
             (HttpLoggingInterceptor.Level.BODY).setLevel(HttpLoggingInterceptor.Level.HEADERS))

这篇关于Android Retrofit OkHttpClient Interceptor Add Header Gets Error“HTTP 403 Forbidden"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆