正确的方法来测试服务器是否在Java中运行?

什么是简单地查看是否可以建立与网站/服务器的连接的正确方法? 我希望这个用于我编码的应用程序,如果我的网站脱机,它会提醒我。

谢谢!

您可以使用HttpURLConnection发送请求并检查响应正文以查找该页面唯一的文本(而不仅仅是检查是否存在响应,以防错误或维护页面或某些内容正在提供) 。

Apache Commons有一个库,可以删除许多用Java编写Http请求的样板。

我从来没有在Android上做过这样的事情,但如果有任何不同,我会感到惊讶。

这是一个简单的例子:

URL url = new URL(URL_TO_APPLICATION); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); InputStream stream = connection.getInputStream(); Scanner scanner = new Scanner(stream); // You can read the stream however you want. Scanner was just an easy example boolean found = false; while(scanner.hasNext()) { String next = scanner.next(); if(TOKEN.equals(next)) { found = true; break; } } if(found) { doSomethingAwesome(); } else { throw aFit(); } 

您还想使用setConnectTimeout(int timeout)setReadTimeout(int timeout)设置连接超时。 否则代码可能会挂起很长时间,等待无响应的服务器回复。