2011-09-16 122 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