在Android中,我有一个在Web服务上执行GET的HttpClient。 Web服务可以返回Http Error 429(请求太多),其中包含错误的JSON详细对象,其中包含更多数据(例如,将来可能再次重新发送请求的时间)。
不幸的是
response = httpclient.execute(httpGet, localContext);
引发NoHttpResponseException并且响应对象保持为NULL。
所以我没有办法来管理那个特定的429错误。
有解决方案吗?
更新 我用fiddler检查过,当服务器返回正确的JSON对象时,HTTP状态代码= 429,httpclient.execute(httpGet,localContext);只是抛出NoHttpResponseException - 所以问题不在于服务器不会返回任何结果。
答案 0 :(得分:1)
你的意思是这样吗?
WebRequestResult result = new WebRequestResult();
URL url = new URL(this.url);
URLConnection connection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection) connection;
//This here?
result.setStatusCode(httpConnection.getResponseCode());
result.setStatusDescription(httpConnection.getResponseMessage());