2014-10-07 4 views
1

로그인 기능으로 발리를 사용하고 있지만 https에 예상치 못한 응답 코드 400이 표시됩니다. Wi-Fi에서 작동하지만 셀룰러 네트워크에서는 작동하지 않으며 문제는 선택한 휴대 전화 모델에서만 발생합니다. 아래 코드를 붙여 넣었습니다.Android Volley 예기치 않은 응답 코드 400

공개 무효 LoginRequest (최종 문자열 사용자 이름, 최종 문자열 암호, 최종 ActionResponse 성공, 최종 동작 오류) { RequestQueue queue = MVolleyRequests.getInstance (mContext) .getRequestQueue();

StringRequest sr = new StringRequest(com.android.volley.Request.Method.POST,LOGIN_URL, 
      new Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      success.action(MError.getError(Integer.parseInt(response))); 
     } 
    }, new ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      err.action(); 
     } 
    }){ 

     @Override 
     protected Map<String,String> getParams(){ 
      Map<String,String> params = new HashMap<String, String>(); 
      params.put("id", username); 
      params.put("pwd", password); 
      params.put("version", "2.5"); 
      return params; 
     } 
     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      Map<String,String> params = new HashMap<String, String>(); 
      params.put("Content-Type","application/x-www-form-urlencoded; charset=utf-8"); 
      return params; 
     } 
    }; 
    sr.setRetryPolicy(new DefaultRetryPolicy(
      60000, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
    MVolleyRequests.getInstance(mContext).addToRequestQueue(sr); 

} 
+0

URL은 무엇입니까? –

+0

@ A.S. 그것의 https 링크 –

답변

3

이 밖으로 시도 :

된 JSONObject PARAMS = 새로운 된 JSONObject();

try { 
    params.put("id", username); 
      params.put("pwd", password); 
      params.put("version", "2.5"); 
} catch (JSONException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
// 

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, 
     url, params, 
     new Response.Listener<JSONObject>() { 

      @Override 
      public void onResponse(JSONObject response) { 
       Log.d(TAG, response.toString()); 
      } 
     }, new Response.ErrorListener() { 

      @Override 
      public void onErrorResponse(VolleyError error) { 
       VolleyLog.d(TAG, "Error: " + error.getMessage()); 
      } 
     }) { 

    /** 
    * Passing some request headers 
    * */ 
    @Override 
    public Map<String, String> getHeaders() throws AuthFailureError { 
     HashMap<String, String> headers = new HashMap<String, String>(); 
     headers.put("Content-Type", "application/json; charset=utf-8"); 
     return headers; 
    } 

}; 
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(60000, 
     DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
     DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 

// Adding request to request queue 
getRequestQueue(jsonObjReq); 
관련 문제