Volley 301/302重定向,使用okhttp或修改Volley Library

时间:2017-02-07 19:12:02

标签: android android-volley http-status-code-301

我遇到了Volley和301/302重定向问题,特别是来自http - > HTTPS。我正在向服务器发出API调用,在不久的将来,当调用http而不是https时,它将发出301重定向。

我在Response.ErrorListener上遇到了ServerError。

我在这里已经阅读了一些解决方案,但其中大多数已经超过1年了。

什么是最佳选择?

  1. 修改Volley代码以处理BasicNetwork类和Request类中的301/302。

  2. 使用OkHttp3堆栈而不是Volley的默认HttpStack。如果是的话,推荐哪一个。我见过多次实现。

  3. 代码示例

        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, "http://www.server.com/api-path, null,
                            new Response.Listener<JSONObject>() {
                                @Override
                                public void onResponse(JSONObject response) {
    
                                }
                            },
                            new Response.ErrorListener() {
                                @Override
                                public void onErrorResponse(VolleyError error) {
    
                                }
                            });
    VolleySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
    

    我收到了com.android.volley.ServerError的VolleyError with networkResponse.statusCode = 301.服务器返回301,其位置为https://www.server.com/api-path

0 个答案:

没有答案