gpt4 book ai didi

android-volley - Volley 重试请求

转载 作者:行者123 更新时间:2023-12-04 06:46:29 25 4
gpt4 key购买 nike

我目前正在测试 Volley 库。但是当请求失败 (404) 时,它不会再次执行,或者至少没有错误。但是缺少数据。如果请求失败,这是重试请求的正确方法吗?

提前致谢

req.setRetryPolicy(new DefaultRetryPolicy(5000,1,1.0f));
queue.add(req);

用法 :
JsonObjectRequest req = null;
for(int i=0;i<profielen.size();i++){
final int pos = i;
req = new JsonObjectRequest(Request.Method.GET, imageLocUrl, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
setImageOnProfile(pos,response.get("thumbnail").toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
}
});

req.setRetryPolicy(new DefaultRetryPolicy(5000,1,1.0f));
queue.add(req);
}

最佳答案

不,那不是正确的方法。

旁白:

  • HTTP 404 不是状态代码,我希望正常行为的 HTTP
    客户端正常情况下重试。
  • 您最喜欢的是通过您的错误监听器收到错误
    提供请求,但您的错误监听器是 NOOP,所以也许
    你没注意到?
  • ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 可以
    状态码含义的描述。)
  • 请求的重试策略仅适用于由于以下原因导致的失败:打开套接字超时、套接字打开超时、HTTP 401 和 HTTP 403。所有其他失败都不会自动重试,AFAIK。

  • 我认为要使用 Volley 重试 404,您需要手动重试 onErrorResponse .

    (榕树:如果针对错误状态代码咨询 RetryPolicy 会很好。我希望能够设置一个在 503 上重试的策略。)

    关于android-volley - Volley 重试请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21828127/

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