2016-09-27 15 views
1
 final OkHttpClient okHttpClient = new OkHttpClient.Builder() 
      .readTimeout(60, TimeUnit.SECONDS) 
      .addInterceptor(new Interceptor() { 
       @Override 
       public okhttp3.Response intercept(Chain chain) throws IOException { 
        Request.Builder ongoing = chain.request().newBuilder(); 
        ongoing.addHeader("Cache-Control", "no-cache"); 
        ongoing.addHeader("User-Agent", System.getProperty("http.agent")); 
        return chain.proceed(ongoing.build()); 
       } 
      }) 
      .connectTimeout(100, TimeUnit.SECONDS) 
      .build(); 
     Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl(globalUrl()) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .client(okHttpClient) 
       .build(); 

だから基本的に、私のアンドロイドのコードでそれをやっています。ただし、デバイスがルートされている場合、またはプロキシを使用している場合(下の手順)、URLは依然として送信され、動作しています。プロキシ経由の無効化HTTP呼び出し、または根ざしデバイス

1 - Connect to WIFI network (e.g. 'Alex') 
2 - Settings->WIFI 
3 - Long tap on connected network's name (e.g. on 'Alex') 
4 - Modify network config-> Show advanced options 
5 - Set proxy settings 

答えて

2

OkHttpClient.BuilderでNO_PROXYをプロキシとして手動で設定します。これはjava.net.Proxyのオプションです。

+0

私はそれを実装しました。最後のOkHttpClient okHttpClient = new OkHttpClient.Builder() .proxy(Proxy.NO_PROXY)しかし、URL呼び出しはまだ動作しますが、プロキシを使用しません。私はすべて一緒にそれを無効にするのが好きです。 –

関連する問題