如何配置 HttpURLConnection 以使用代理
在未显式设置代理的情况下尝试建立 HTTP 连接时,它可能不尊重系统代理设置。为了解决这个问题,有一些方法可以显式配置 HttpURLConnection 以使用代理。
在 Java 1.5 及更高版本中,可以通过将 java.net.Proxy 实例传递给 openConnection 将 HttpURLConnection 配置为使用代理。 (代理)方法。例如:
// Proxy instance with IP address 10.0.0.1 and port 8080 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080)); HttpURLConnection conn = (HttpURLConnection) new URL(urlString).openConnection(proxy);
如果代理需要身份验证,它将响应 HTTP 407 错误。要处理此问题,可以使用身份验证器:
Authenticator authenticator = new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("user", "password".toCharArray()); } }; Authenticator.setDefault(authenticator);
设置默认身份验证器将提供代理身份验证所需的凭据。通过利用这些方法,HttpURLConnection 将有效地使用提供的代理设置。
以上是如何配置 HttpURLConnection 以使用代理?的详细内容。更多信息请关注PHP中文网其他相关文章!