【发布时间】:2014-11-03 06:43:54
【问题描述】:
我正在使用HttpURLConnection 使用以下代码检查服务器 URL 是否可用:
try {
boolean connectionFailed = false;
URL knownURL = new URL("http://www.google.com");
httpConnection = (HttpURLConnection) knownURL.openConnection();
httpConnection.setConnectTimeout(5000);
responseCode = httpConnection.getResponseCode();
if (responseCode != 200) {
status = ConnectionStatus.NOT_CONNECTED;
}
}
catch(Exception e) {
connctionFailed = true;
}
此代码在正常情况下运行良好。但是在没有网络连接的情况下(要么是路由器断开,要么不是热点),httpConnection.getResponseCode() 不执行(函数不返回)。我该如何解决这个问题?
【问题讨论】:
-
尝试将代码 sn-p 放入
TRY CATCH Block。我怀疑(HttpURLConnection) knownURL.openConnection();在没有互联网时会抛出一个套接字异常,所以你没有到达`httpConnection.getResponseCode();` -
knownURL.openConnection() 正在执行,它不会捕获块。调用 getResponseCode() 时停止
-
尝试调试它。是的,你得到了一个例外。这就是为什么。检查您的 logcat 并在此处发布。
-
HttpUrlConnection 可以在没有互联网的情况下工作吗?
标签: android web-services httpurlconnection android-webservice ws-client