1

在 Android 中,我有一个在 web 服务上执行 GET 的 HttpClient。Web 服务可以返回 Http 错误 429(请求太多),其中包含错误的 JSON 详细对象,其中包含更多数据(例如,将来可以再次重新发送请求的时间)。

不幸的是

response = httpclient.execute(httpGet, localContext);

引发 NoHttpResponseException 并且响应对象保持为 NULL。

所以我没有办法管理那个特定的 429 错误。

有解决办法吗?

更新: 我检查了提琴手,当服务器返回正确的 JSON 对象,HTTP 状态码 = 429,httpclient.execute(httpGet, localContext); 只需抛出 NoHttpResponseException - 所以问题不在于服务器不返回任何结果。

4

1 回答 1

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());
于 2012-10-10T10:31:01.717 回答