在vollery请求中发送基本自动化

时间:2016-09-05 09:18:42

标签: android android-volley

您好我正在尝试在截击请求中发送基本授权。我差不多7-8个月前试过这个,但它工作正常......

但是当我尝试使用授权标头发送请求时,我现在还不知道出了什么问题,我总是得到403错误。当我试图从hurl.it点击网址时它工作正常..有人可以告诉我的请求有什么问题。

这就是我在排球请求中添加授权标头的方式

try-catch

屏幕截图来自post man

This is how I added auth data

This is how I am adding data

This is the server response

Sample data can found here

现在这段代码无效了。谁能告诉我我做错了什么。感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, URL, new JSONObject(), new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
           //Handle response
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
         //Handle Error
        }
    }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            return super.getParams();
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put(
                    "Authorization",
                    String.format("Basic %s", Base64.encodeToString(
                            String.format("%s:%s", username, password).getBytes(), Base64.DEFAULT)));
            return params;
        }
    };

    jsonObjectRequest.setShouldCache(false);
    requestQueue.add(jsonObjectRequest);