OkHTTPClient Proxy authentication how to?

后端 未结 1 1681
被撕碎了的回忆
被撕碎了的回忆 2020-12-01 07:12

Question: How do I add a authorization proxy to OkHTTP.

I know that OkHTTP\'s builder does support proxies although I am having a hard time setting

相关标签:
1条回答
  • 2020-12-01 07:46

    Try this:

    int proxyPort = 8080;
    String proxyHost = "proxyHost";
    final String username = "username";
    final String password = "password";
    
    Authenticator proxyAuthenticator = new Authenticator() {
      @Override public Request authenticate(Route route, Response response) throws IOException {
           String credential = Credentials.basic(username, password);
           return response.request().newBuilder()
               .header("Proxy-Authorization", credential)
               .build();
      }
    };
    
    OkHttpClient client = new OkHttpClient.Builder()
        .connectTimeout(60, TimeUnit.SECONDS)
        .writeTimeout(60, TimeUnit.SECONDS)
        .readTimeout(60, TimeUnit.SECONDS)
        .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)))
        .proxyAuthenticator(proxyAuthenticator)
        .build();
    
    0 讨论(0)
提交回复
热议问题