java - 尝试使用代理创建 HTTPUrlConnection 时出现 UnknownHostException

标签 java proxy httpurlconnection

使用 Java,我尝试连接并从 http://www.oracle.com 获取响应代码通过本地代理http://www-my.proxy.address.com .

我已经尝试过:

public void testAConnection() throws IOException {
    String urlText = "http://www.oracle.com";

    System.setProperty("http.proxyHost", "http://www-my.proxy.address.com");
    System.setProperty("http.proxyPort", "80");

    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("http://www-my.proxy.address.com", 80));
    URL url = new URL(urlText);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
    int responseCode = conn.getResponseCode();
    System.out.println(responseCode);
}

抛出:

java.net.UnknownHostException: ...

以及:

Proxy proxy = new Proxy(Proxy.Type.DIRECT, new InetSocketAddress("http://www-my.proxy.address.com", 80));
URL url = new URL(urlText);
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);

后者抛出:

ava.lang.IllegalArgumentException:类型 DIRECT 与地址不兼容...

对于解决此问题的其他人来说,第二种方法似乎通常有效。任何帮助表示赞赏!

编辑:在绞尽脑汁试图找出问题所在后,我重新启动了 IDE,一切似乎都正常。感谢您的反馈。

最佳答案

Type.HTTP 正确。但是,我怀疑您的系统是否无法解析您的代理IP。检查您的 DNS 设置或手动在/etc/hosts 中添加 www-my.proxy.address.com 条目

关于java - 尝试使用代理创建 HTTPUrlConnection 时出现 UnknownHostException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922194/

相关文章:

java - Spring Boot Maven 插件,其依赖项中有一个主类

apache - 代理服务器收到来自上游服务器的无效响应

java - java中的HTTPS和HTTP连接

java - 获取没有错误消息的 IOException Android

java - 在文本文件中搜索(具有特定模式)

java - Java中增强的for循环和迭代器有什么优势?

java - 为什么 iText 不将靠近页面底部的表格添加到文档中?

web-applications - 如何从客户端使用 http 代理的 Web 应用程序检测 - 为什么缺少 XFF header ?

proxy - 使用Powershell和代理访问Web

java - 如何不重置BufferedReader?