在Android中使用Volley发送HTTP GET请求时出错

时间:2017-01-19 07:57:27

标签: android http android-volley

我在Android应用程序中使用volley来发出HTTP GET请求。我收到以下错误 -

(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
BasicNetwork.performRequest: Unexpected response code 500 for D/LOG ENTRY(21952): com.android.volley.ServerError

当我使用REST客户端发出相同的HTTP请求时,它是成功的。

我的排球请求代码是 -

RequestQueue queue2 = Volley.newRequestQueue(appContext);
        JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,url,null,
                       new Response.Listener<JSONObject>() {
                           @Override
                           public void onResponse(JSONObject response) {

                               Log.d("Response",response.toString());
                          }
                       }, new Response.ErrorListener() {
                           @Override
                           public void onErrorResponse(VolleyError error) {
                               Log.d("LOG ENTRY",error.toString());                     
                           }
                       }) {

                   @Override
                   public Map<String, String> getHeaders() throws AuthFailureError {
                       HashMap<String, String> headers = new HashMap<String, String>();
                       headers.put("clientSecret", appContext.getString(R.string.username));
                       return headers;
                   }
               };

        // Add the request to the RequestQueue.
       queue2.add(req);

请你帮忙弄清楚错误发生的原因

2 个答案:

答案 0 :(得分:0)

500错误是内部服务器错误,因此服务器端代码出错。这个原因(在这种情况下)是你要超过API请求限制。

在这种情况下,Volley代码很好。

答案 1 :(得分:0)

删除此行:

queue2.add(req);

添加以下行:

AppController.getInstance().addToRequestQueue(queue2);