Java BasicNetwork.performRequest:意外响应代码400(GET)
我正在使用volley向服务器发送一个带有GET方法的请求链接,以获取json 它的工作没有任何问题的大多数android版本的大多数设备 但它会在一些平板电脑上出现意外错误,并导致此错误 E/Volley(7696):[855]BasicNetwork.performRequest:somesite/webservices/get_latest_records.php的意外响应代码400?thisttime=19700101120000&city=newyork&model=XO Learning tablet&imei=35222247251 10-01 16:19:59.047:W/System.err(7696):com.android.volley.ServerError 10-01 16:19:59.047:W/System.err(7696):位于com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:146) 10-01 16:19:59.047:W/System.err(7696):位于com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110) 我不知道为什么会发生这种截击错误?如果它有问题,为什么它能在大多数设备上工作?如果这是一个很好的结果,为什么它在几片药片上不起作用Java BasicNetwork.performRequest:意外响应代码400(GET),java,android,json,get,android-volley,Java,Android,Json,Get,Android Volley,我正在使用volley向服务器发送一个带有GET方法的请求链接,以获取json 它的工作没有任何问题的大多数android版本的大多数设备 但它会在一些平板电脑上出现意外错误,并导致此错误 E/Volley(7696):[855]BasicNetwork.performRequest:somesite/webservices/get_latest_records.php的意外响应代码400?thisttime=19700101120000&city=newyork&model=XO Learni
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");
}
}
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”);
私有void requestDataFromServer(最终字符串url){
试一试{
req=新的JsonObjectRequest(Request.Method.GET,url,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject JsonObj_Response){
试一试{
if(JsonObj_Response.getInt(“成功”)==0){
}else if(JsonObj_Response.getInt(“success”)==1){
新的InsertJSONToDB().execute(JsonObj_响应);
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},
新的Response.ErrorListener(){
@凌驾
公共响应(截击错误){
例如printStackTrace();
makeToast(“错误”);
}
}
我应该如何解决这个问题
提前感谢…我遇到了相同的问题。这是我之前发送的请求,导致400错误。 湿地板。 看看湿地板上的空间。 虽然浏览器将其重新构造为湿%20地板凌空没有。
因此,我必须添加“%20”以提供空间,它起了作用。希望这可能对某人有所帮助…您找到解决方案了吗?是的,我找到了。这是因为某些设备中的imei为空指针。某些设备没有imei。通过在发送之前检查此值,问题得到了解决…您应该将解决方案作为答案发布。