作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
通常我使用 org.apache.http.HttpStatus
类在我的 RestClient
类中检查服务器不同的代码响应,如下例所示:
if (HttpStatus.SC_OK == restClient.getResponseCode()) {
//200 OK (HTTP/1.0 - RFC 1945)
return true;
} else if (HttpStatus.SC_BAD_GATEWAY == restClient.getResponseCode()){
//502 Bad Gateway (HTTP/1.0 - RFC 1945)
return false;
}
但根据官方 documentation 的说法,最近该类自 API 级别 22 起已弃用
This interface was deprecated in API level 22. Please use openConnection() instead. Please visit this webpage for further details.
但是对我来说使用 OpenConnection()
方法没有任何意义。
我的问题是:有没有其他方法可以实现相同的功能,而无需我自己在应用程序中对所有代码响应进行硬编码?
提前致谢。
最佳答案
您可以将openConnection
的返回值转换为HttpURLConnection
,并使用getResponseCode()
获取响应码
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
final int responseCode = urlConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
} else if (responseCode == HttpURLConnection.HTTP_BAD_GATEWAY) {
}
HttpURLConnection.getResponseCode()
文档是 here
关于android - HttpStatus 在 API 级别 22 中被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29941328/
我是一名优秀的程序员,十分优秀!