我收到此错误
System.err:java.net.UnknownHostException:无法解析主机" proxy01":没有与主机名关联的地址
我正在使用OKHTTP。我的公司有两个互联网连接。需要认证的一个。当我使用访客网络进行OKHTTP呼叫时,它按预期工作。但是当我切换网络并连接到安全网络时,我得到上面的错误。我知道我的公司有代理服务器,怀疑是在没有身份验证的情况下阻止外出网络呼叫。当我连接到安全网络并使用我的用户名和密码进行身份验证时,我可以在手机上打开google.com,但是,当我在手机上打开我的应用时出现上述错误
答案 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>
。