Volley: [1141] BasicNetwork.performRequest: Unexpected response code 429 for https://xxxxxx.com/api/getXXX
429 Too Many Requests (太多请求)
当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。
在此之前,有一些类似的状态码,例如 '509 Bandwidth Limit Exceeded'. Twitter 使用 420 (这不是HTTP定义的状态码)
如果你希望限制客户端对服务的请求数,可使用 429 状态码,同时包含一个 Retry-After 响应头用于告诉客户端多长时间后可以再次请求服务。
tringRequest stringRequest = new StringRequest(requestMothed, requestUrl, new Response.Listener() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(com.android.volley.VolleyError error) {
Log.e("-------->", "error--" + error.toString());
if (error != null && error.networkResponse != null && error.networkResponse.headers != null) {
//获取请求的状态码
int erroorCode = error.networkResponse.statusCode;
switch (erroorCode) {
//TODO 相应的处理
case 429:
break;
case 430:
break;
default:
}
}
}
});