我正在尝试User-Agent
在 Android 上使用 React Native 设置。做了一些研究,看起来我应该使用okhttp
Interceptor。我发现的一个示例解释了应该如何完成此操作(Link),但我不确定如何注册拦截器。
所以为了设置User-Agent
我正在使用这个类:
public class CustomInterceptor implements Interceptor {
@Override public Response intercept(Interceptor.Chain chain) throws IOException {
Request originalRequest = chain.request();
Request requestWithUserAgent = originalRequest.newBuilder()
.removeHeader("User-Agent")
.header("User-Agent", "Trevor")
.build();
return chain.proceed(requestWithUserAgent);
}
}
那么剩下的就是注册上面的拦截器那么应该在哪里完成呢?也许在MainActivity.java
?
OkHttpClient okHttp = new OkHttpClient();
okHttp.interceptors().add(new CustomInterceptor());
构建应用程序时我没有收到任何错误,所以我认为CustomInterceptor
应该没问题 - 只需要让应用程序使用它。
更新:我目前正在尝试注册拦截器,MainActivity
但它不会拿起它:
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new CustomInterceptor());
};
};