Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android截击意外响应代码400_Android_Http_Android Volley - Fatal编程技术网

Android截击意外响应代码400

Android截击意外响应代码400,android,http,android-volley,Android,Http,Android Volley,我正在使用Volley作为登录函数,但是我得到了https的意外响应代码400 它在WiFi上工作,但在蜂窝网络上不工作,而且问题只发生在选定的手机型号上。下面是我的代码 public void LoginRequest(final String username,final String password,final ActionResponse success,final Action err ){ RequestQueue queue = MVolleyRequests.getI

我正在使用Volley作为登录函数,但是我得到了https的意外响应代码400

它在WiFi上工作,但在蜂窝网络上不工作,而且问题只发生在选定的手机型号上。下面是我的代码

public void LoginRequest(final String username,final String password,final ActionResponse success,final Action err ){
    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);

}
public void LoginRequest(最终字符串用户名、最终字符串密码、最终操作响应成功、最终操作错误){
RequestQueue queue=MVolleyRequests.getInstance(mContext.getRequestQueue();
StringRequest sr=newStringRequest(com.android.volley.Request.Method.POST,LOGIN\uURL,
新侦听器(){
@凌驾
公共void onResponse(字符串响应){
action(MError.getError(Integer.parseInt(response));
}
},新的ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误动作();
}
}){
@凌驾
受保护的映射getParams(){
Map params=新的HashMap();
参数put(“id”,用户名);
参数put(“pwd”,密码);
参数put(“版本”、“2.5”);
返回参数;
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
参数put(“内容类型”,“应用程序/x-www-form-urlencoded;字符集=utf-8”);
返回参数;
}
};
高级setRetryPolicy(新的DefaultRetryPolicy)(
60000, 
DefaultRetryPolicy.DEFAULT\u最大重试次数,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
getInstance(mContext).addToRequestQueue(sr);
}
试试这个:

JSONObject params = new 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);
JSONObject params=new JSONObject();
试一试{
参数put(“id”,用户名);
参数put(“pwd”,密码);
参数put(“版本”、“2.5”);
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
//
JsonObjectRequest JSONObjectReq=新的JsonObjectRequest(Method.POST,
url,参数,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
Log.d(TAG,response.toString());
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
d(标记“Error:+Error.getMessage());
}
}) {
/**
*传递一些请求头
* */
@凌驾
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
headers.put(“内容类型”、“应用程序/json;字符集=utf-8”);
返回标题;
}
};
jsonObjReq.setRetryPolicy(新的DefaultRetryPolicy(60000,
DefaultRetryPolicy.DEFAULT\u最大重试次数,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
//将请求添加到请求队列
getRequestQueue(jsonObjReq);

你在呼叫哪个URL?@A.S.这是一个https链接