Sto provando a impostare User-Agent
con React Native su Android. Ho fatto qualche ricerca e sembra che dovrei usare uno Interceptor. Un esempio che ho trovato spiega come dovrebbe essere fatto (Link) ma poi non sono sicuro su come registrare l'Interceptor.React Native e okhttp su Android - Set User-Agent
Quindi, al fine di impostare la User-Agent
sto usando questa classe:
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);
}
}
Poi quello che è rimasto è quello di registrare l'intercettore sopra in modo in cui dovrebbe essere fatto? Forse nel MainActivity.java
?
OkHttpClient okHttp = new OkHttpClient();
okHttp.interceptors().add(new CustomInterceptor());
io non sto ottenendo gli errori quando si costruisce l'applicazione quindi penso che il CustomInterceptor
dovrebbe andare bene - solo bisogno di rendere l'applicazione usarlo.
UPDATE: Attualmente sto cercando di registrare l'intercettore in MainActivity
ma non raccoglierla:
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new CustomInterceptor());
};
};
Ciao @ekonstantinidis, provo a usare 'okhttp' anche con' react-native'.Tuttavia ottengo un errore quando eseguo il comando di 'react-native run-android'. Come sei riuscito a superarlo? – efkan
Immagino che per causa dell'uso di 'okhttp' lib non si sia verificato un errore. 'react-native' usa' okhttp3' lib e provo a usare la stessa lib sfortunatamente. – efkan