正确的方法来测试服务器是否在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)
设置连接超时。 否则代码可能会挂起很长时间,等待无响应的服务器回复。