System.err:java.net.UnknownHostException:无法解析主机" proxy01"

时间:2016-08-23 09:12:30

标签: java okhttp3

我收到此错误

System.err:java.net.UnknownHostException:无法解析主机" proxy01":没有与主机名关联的地址

我正在使用OKHTTP。我的公司有两个互联网连接。需要认证的一个。当我使用访客网络进行OKHTTP呼叫时,它按预期工作。但是当我切换网络并连接到安全网络时,我得到上面的错误。我知道我的公司有代理服务器,怀疑是在没有身份验证的情况下阻止外出网络呼叫。当我连接到安全网络并使用我的用户名和密码进行身份验证时,我可以在手机上打开google.com,但是,当我在手机上打开我的应用时出现上述错误

1 个答案:

答案 0 :(得分:1)

在使用OKHTTP时,您需要提供代理设置及其身份验证器,如下所示:

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()
    .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(<proxyHost>, <proxyPort>)))
    .proxyAuthenticator(proxyAuthenticator)
    .build();

使用各自的值替换标记<token>