【发布时间】:2015-11-30 18:10:56
【问题描述】:
我正在尝试使用带有令牌身份验证的请求,它第一次运行良好,但第二次尝试我得到 401 服务器错误,即使我硬核令牌我得到与我添加空格相同的响应,但相同的代码用于第一个可以正常工作的请求和第二个返回 401 错误的请求,这是我的服务代码:
public static <S> S createService(Class<S> serviceClass, final String authToken) {
Interceptor interceptor = new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request newRequest = chain.request().newBuilder()
.addHeader("Authorization", "Token " + authToken)
.build();
return chain.proceed(newRequest);
}
};
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(Level.BODY);
httpClient.interceptors().add(logging);
httpClient.interceptors().add(interceptor);
Retrofit retrofit = builder.client(httpClient).build();
return retrofit.create(serviceClass);
}
我的服务器需要接收令牌 &$&%$&TGDHGDHFD3456436EXAMPLETOKEN 作为标头,我不认为问题出在代码的另一个位置,因为即使我对令牌进行硬核,我也会遇到同样的问题。
【问题讨论】:
-
您是否在服务器端进行了测试,是否收到了您期望的标头?
-
我正在使用 django 并且真的不知道如何调试这些东西,但是如果我在邮递员上做同样的事情,我可以做多次没有问题。
-
这里你可以看到如何为 Django 设置日志级别:docs.djangoproject.com/en/1.8/topics/logging
标签: java authentication android-studio token retrofit