gpt4 book ai didi

Android - Retrofit2 - 403-禁止访问

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:30 31 4
gpt4 key购买 nike

我正在为网络调用创建一个带有 retrofit2 的应用程序。我需要在单个 Activity 中调用多个 API。现在我面临着 403-forbidden 错误。如果我只调用一个 API,它工作正常。但是,如果我一个一个地使用多个 API 调用,那么我将面临此错误。

我的 CreateService 方法如下:

public static <S> S createService(Class<S> serviceClass, final String authToken) {
if (authToken != null) {
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();

// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization-Token", authToken)
.method(original.method(), original.body());

Request request = requestBuilder.build();
return chain.proceed(request);
}
});
}

// OkHttpClient client = httpClient.readTimeout(60, TimeUnit.SECONDS).connectTimeout(60, TimeUnit.SECONDS).build();
Dispatcher dispatcher = new Dispatcher(Executors.newFixedThreadPool(200));
dispatcher.setMaxRequests(200);
dispatcher.setMaxRequestsPerHost(1);

OkHttpClient okHttpClient = httpClient.dispatcher(dispatcher).connectionPool(new ConnectionPool(100, 30, TimeUnit.SECONDS)).build();

Retrofit retrofit = builder.client(okHttpClient).build();
return retrofit.create(serviceClass);
}

我的代码有什么问题。我该如何处理?

最佳答案

您确定该字符串不是空字符串吗?

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

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 - Retrofit2 - 403-禁止访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41163821/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com