我正在尝试User-Agent在Android上设置React Native.做了一些研究,看起来我应该使用okhttp 拦截器.我发现的一个例子解释了如何做到这一点(链接),但后来我不确定如何注册拦截器.
所以为了设置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);
}
}
Run Code Online (Sandbox Code Playgroud)
那么剩下的就是注册上面的拦截器,以便它应该在哪里完成?也许在MainActivity.java?
OkHttpClient okHttp = new OkHttpClient();
okHttp.interceptors().add(new CustomInterceptor());
Run Code Online (Sandbox Code Playgroud)
构建应用程序时我没有遇到任何错误,所以我认为CustomInterceptor应该没问题 - 只需要让应用程序使用它.
更新:我目前正在尝试注册拦截器MainActivity但它不会接受它:
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new …Run Code Online (Sandbox Code Playgroud)