gpt4 book ai didi

java - 如何在发出请求之前检查互联网连接

转载 作者:行者123 更新时间:2023-12-01 12:02:40 27 4
gpt4 key购买 nike

我有这个常用代码来向服务器发出 HTTP 请求。

      HttpClient httpclient = new DefaultHttpClient();
...
HttpGet httpGet = new HttpGet(finalUri.toURI());
httpGet.addHeader("Accept", "text/xml");

response = httpclient.execute(httpGet);

当有互联网连接时,这可以正常工作。但是,当没有互联网连接时,代码只会在 httpclient.execute(httpGet); 处等待很长时间,直到超时并引发异常并使应用程序崩溃。

01-10 15:17:48.612  20692-20806/com.somepackage.somepackage  E/EXCEPTION﹕ Unable to resolve host "myapi.myhost.com": No address associated with hostname

对于异常,我可以捕获 UnknownHostException e 并处理它。但仍然有办法预先知道互联网连接丢失吗?

最佳答案

您可以使用 NetworkInfo 来达到此目的。

private boolean checkNetworkConnection() {
NetworkInfo networkInfo = ((ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (networkInfo == null || !networkInfo.isConnected()) {
return false;
} else {
return true;
}
}

关于java - 如何在发出请求之前检查互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27875712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com