java - 如何测试Web服务连接

标签 java javascript android ios cordova

我开发了一个 Android 和一个 iOS Phonegapp 应用程序。 native Android 代码加载应用程序的 html 文件:

super.loadUrl() 

在此 html 文件中,我启动对 Web 服务的 ajax 请求。

但是在我连接到 Web 服务并执行 ajax 调用之前,我会测试与 Web 服务的连接,当我无法连接到 Web 服务时,应用程序应该在加载 html 之前关闭,并发出警报或警告。

最佳答案

您可以使用 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();
}

也试试这个

他可能需要 Java 代码,因为他正在开发 Android。 Java 的等价物——我相信它可以在 Android 上运行——应该是:

InetAddress.getByName(host).isReachable(timeOut)

关于java - 如何测试Web服务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13023870/

相关文章:

java - 多个 JButton 执行相同的任务

java - 每次都需要重建项目以反射(reflect) Android Studio Chipmunk 中的变化

java - 如何在 android EditText 中限制单引号?

javascript - AJAX:获取ajax调用javascript函数

Android 数据库上次更新

java - 如何从 TableView 中删除大量选定的行?

javascript - 选择自动完成选项时提交表单

javascript - 我可以根据 <span> 的宽度更改 <span> 中的文本内容吗?

Android内核修改

android - 从 uri 中检索位图