2011-09-16 129 views
5

我试图打开一个URL并逐行阅读网站。我可以在eclipse中做到这一点,因为我猜Eclipse会自动为你配置它。当我尝试从命令行运行程序时,程序挂起并且从不读取URL。如何配置Java的代理设置?

经过一番研究,问题与代理设置有关,我想通了。所有文章中,我遇到过说要改变这样的事情:

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(); 
+0

从命令行运行它会发生什么?你有什么错误吗?你能显示错误堆栈跟踪吗? – Bhaskar

+1

您确定您的应用程序没有被您的操作系统代理所阻止(特别是如果您使用的是XP)吗? – VirtualTroll

+0

+1防火墙或防病毒问题。如果您的网络没有代理服务器,则无需设置代理服务器。 –

回答

0

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