正确的方法来测试服务器是否在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)
连接超时。否则,代码可能会挂起很长时间,等待无响应的服务器回复。
它是一个独立的或Web应用程序? – Jayy 2012-03-04 06:06:05
@KaipaMSarma事实上,这将在我的Android应用程序中,但我不确定这是相关的,所以我没有包括它。 – DannyF247 2012-03-04 06:08:48
我还添加了andriod标签,以便那些已经在andriod上工作的人可以查看此问题 – Jayy 2012-03-04 06:18:22