【问题标题】:How to configure proxy settings for Java?如何为 Java 配置代理设置?
【发布时间】:2011-09-16 19:41:41
【问题描述】:

我正在尝试打开一个 URL 并逐行阅读该网站。我可以在 Eclipse 中很好地做到这一点,因为我猜 Eclipse 会自动为您配置它。当我尝试从命令行运行程序时,程序挂起并且从不读取 URL。

经过一番研究,我发现问题与代理设置有关。我遇到的所有文章都说要更改如下内容:

System.setProperty("java.net.useSystemProxies","true");

或者像这样添加代码行:

System.setProperty("http.proxyHost", "webcache.mydomain.com");
System.setProperty("http.proxyPort", "80");

但我不知道该为我的代理设置设置什么以及这些 System.setProperty 调用中的任何一个做什么。有谁知道如何设置代理设置?我只是想在本地主机上从我的家用计算机上运行它,我什至没有在代理或任何东西后面。

这是我使用的在 Eclipse 中运行良好的代码。

URL link = new URL("http://www.yahoo.com");
            
BufferedReader in = new BufferedReader(new InputStreamReader(link.openStream()));
//InputStream in = link.openStream();
String inputLine = "";
int count = 0;
while ((inputLine = in.readLine()) != null) {
    site = site + "\n" + inputLine;
}
in.close();

【问题讨论】:

  • 从命令行运行它会发生什么?你有什么错误吗?你能显示错误堆栈跟踪吗?
  • 您确定您的应用程序没有被您的操作系统代理阻止(尤其是如果您使用的是 XP)?
  • +1 防火墙或防病毒问题。如果您的网络没有代理,则无需设置代理。
  • 我使用的是 Windows 7。如何判断它是否被我的操作系统的代理阻止。如果我运行“ping www.yahoo.com”,它会返回来自 67.195.160.76 的回复和说 4 包已发送,4 包已收到,没有丢失。不确定这是否有帮助。
  • 没有错误发生,程序刚刚启动,然后它就永远挂起试图访问 URL。

标签: java url proxy


【解决方案1】:

java -Dhttp.proxyHost=proxyhostURL
-Dhttp.proxyPort=proxyPortNumber
-Dhttp.proxyUser=someUserName
-Dhttp.proxyPassword=somePassword javaClassToRun

【讨论】:

    【解决方案2】:

    Sun(呃,Oracle)Java SE 6 Java Networking and Proxies 页面涵盖了这些属性。

    【讨论】:

      猜你喜欢
      • 2015-07-29
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多