User-Agent
をAndroidでリアクションネイティブに設定しようとしています。いくつかの研究をしましたが、私はokhttp
インターセプタを使用する必要があります。私が見つけた例では、これをどのように行うべきかが説明されていますが(Link)、インターセプタを登録する方法はわかりません。Androidでネイティブ&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);
}
}
次に何残っていることは、それが行われる必要がありますどこので、上記のインターセプタを登録するのですか?多分MainActivity.java
にありますか?
OkHttpClient okHttp = new OkHttpClient();
okHttp.interceptors().add(new CustomInterceptor());
アプリを構築するとき、私はので、私はCustomInterceptor
は問題ないはずだと思うすべてのエラーを取得していないです - ちょうどアプリはそれを使うようにする必要があります。
UPDATE: 私は現在MainActivity
にインターセプタを登録しようとしているが、それはそれを拾うません。
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new CustomInterceptor());
};
};
こんにちは@ekonstantinidis、私は 'react-native'でも' okhttp'を使ってみます。しかし、私は 'react-native run-android'コマンドを実行するとエラーになります。あなたはそれを克服するためにどのように成功しましたか? – efkan
あなたが 'okhttp'libを使うと、あなたはエラーに遭遇しなかったと思います。 'react-native'は' okhttp3'libを使い、残念なことに同じlibを使います。 – efkan