简单地查看是否可以建立与网站/服务器的连接的正确方法是什么?我希望这个用于我编写的应用程序,如果我的网站离线,它会提醒我。
谢谢!
答案 0 :(得分:3)
您可以使用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();
}
答案 1 :(得分:1)
您还想使用setConnectTimeout(int timeout)
和setReadTimeout(int timeout)
设置连接超时。否则,代码可能会挂起很长时间,等待无响应的服务器回复。