0

我正在开发一个连接到服务器以获取一些数据的应用程序。
在这我想首先检查应用程序是否连接到服务器。然后,如果服务器打开或关闭?
根据结果​​,我想做进一步的操作。

那么如何获取服务器状态的结果呢?

这是我正在使用的代码:

代码:

try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(
                        "http://192.168.1.23/sip_chat_api/getcountry.php");

                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();

            } catch (Exception e) {
 }
4

2 回答 2

1

在这里维护会话 cookie 是最好的选择,请参阅如何使用会话 cookie:如何在 Android 上使用 cookie 发出 http 请求?

在这里,在向服务器发送请求之前,检查会话 cookie。如果存在,则继续进行通信。 更新: Java 等价物——我相信它适用于 Android——应该是:

InetAddress.getByName(host).isReachable(timeOut)

于 2012-06-04T11:10:49.503 回答
1

检查 HttpResponse 的 getStatusLine() 方法

200以外的任何状态码都表示有问题,每个状态码都指向不同的问题发生。

http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpResponse.html?is-external=true

http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/StatusLine.html#getStatusCode ()

于 2012-06-04T12:40:21.923 回答