我会尝试打开一个URL并逐行读取网站内容。在Eclipse中这很容易实现,因为我猜测Eclipse已经自动配置好了。但是当我尝试从命令行运行程序时,程序一直卡住,无法读取URL。
经过一些研究,我发现问题与代理设置有关。所有相关文章都建议更改类似下面的设置:
或者像这样添加代码行:
经过一些研究,我发现问题与代理设置有关。所有相关文章都建议更改类似下面的设置:
System.setProperty("java.net.useSystemProxies","true");
或者像这样添加代码行:
System.setProperty("http.proxyHost", "webcache.mydomain.com");
System.setProperty("http.proxyPort", "80");
但我不知道应该在代理设置中填写什么,也不知道这些System.setProperty
调用都是做什么的。有没有人知道如何设置代理设置?我只是想在本地计算机上的localhost上运行这个程序,我甚至不需要使用代理或其他任何东西。
以下是我在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();