BasicNetwork.performRequest:意外的响应代码400(GET)

时间:2014-10-01 18:01:32

标签: java android json get android-volley

我使用volley向GET方法发送请求链接到服务器以获取json

对大多数设备的大部分Android版本都没有任何问题...

但是使用几个平板电脑会出现意外错误并导致此错误

E / Volley(7696):[855] BasicNetwork.performRequest:somesite / webservices / get_latest_records.php的意外响应代码400?thistime = 19700101120000& city = newyork& model = XO Learning tablet& imei = 3522222247251 10-01 16:19:59.047:W / System.err(7696):com.android.volley.ServerError 10-01 16:19:59.047:W / System.err(7696):at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:146) 10-01 16:19:59.047:W / System.err(7696):at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)

我不知道为什么会出现这个Volley错误?如果它有问题为什么它适用于大多数设备?如果它是一个很好的resust为什么它不能在几个平板电脑上工作????

requestDataFromServer("http://somesite/webservices/get_latest_records.php?thistime=19700101120000&city="+ URLEncoder.encode(spinner.getSelectedItem().toString(),"UTF-8") + "&model="+ URLEncoder.encode(Global.MODEL,"UTF-8") + "&imei=" + URLEncoder.encode(Global.IMEI,"UTF-8"));


            private void requestDataFromServer(final String url) {
            try {

                req = new JsonObjectRequest(Request.Method.GET, url, null,
                        new Response.Listener<JSONObject>() {

                            @Override
                            public void onResponse(JSONObject JsonObj_Response) {

                                try {
                                    if (JsonObj_Response.getInt("success") == 0) {

                                    } else if (JsonObj_Response.getInt("success") == 1) {

                                        new InsertJSONToDB().execute(JsonObj_Response);
                                    }
                                } catch (JSONException e) {
                                    e.printStackTrace();

                                }
                            }

                        },

                        new Response.ErrorListener() {

                            @Override
                            public void onErrorResponse(VolleyError ex) {

                            ex.printStackTrace();


                            makeToast("error");

                            }



        }

我该怎么做才能解决这个问题?

提前感谢...

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。这是我之前发送的请求导致400错误。 http://myipHere:84/api/Test/NewRequest?apikey=SC:some_demo:d789b0c6a44fd4a9&assetid=AHU001&gender=female&issueid= 湿地。 查看湿地板中的空间。 虽然浏览器将其重组为 Wet%20Floor 但是Volley没有。 所以我不得不添加“%20”来提供空间并且它有效。希望这对某人有帮助......