2015-03-22 2 views
0

У меня эта ошибка в моем логарифме.
Я использую Volley для отправки запроса.Android Volley BasicNetwork.performRequest: Неожиданный код ответа 412

E/Volley﹕ [2040] BasicNetwork.performRequest: Unexpected response code 412 for http:/myserver/index.php 

И ничего, никакой другой ошибки.
Ошибка строки, ничего.

Я не знаю, что делать.

ответ

0

FML, извините за этот вопрос.

Проблема была страница моего имени. Это было не index.php, но indexx.php на моем сервере

Плохая ошибка ...

Mayve этот ответ будет анс другие парни вроде меня ^^

0

Создание пользовательского запроса и переопределить GetParam() метод

import java.io.UnsupportedEncodingException; 
import java.util.Map;  
import org.json.JSONException; 
import org.json.JSONObject;  
import com.android.volley.NetworkResponse; 
import com.android.volley.ParseError; 
import com.android.volley.Request; 
import com.android.volley.Response; 
import com.android.volley.Response.ErrorListener; 
import com.android.volley.Response.Listener; 
import com.android.volley.toolbox.HttpHeaderParser; 

public class CustomRequest extends Request<JSONObject> { 

private Listener<JSONObject> listener; 
private Map<String, String> params; 

public CustomRequest(String url, Map<String, String> params, 
     Listener<JSONObject> reponseListener, ErrorListener errorListener) { 
    super(Method.GET, url, errorListener); 
    this.listener = reponseListener; 
    this.params = params; 
} 

public CustomRequest(int method, String url, Map<String, String> params, 
     Listener<JSONObject> reponseListener, ErrorListener errorListener) { 
    super(method, url, errorListener); 
    this.listener = reponseListener; 
    this.params = params; 
} 

@Override 
protected Map<String, String> getParams() 
     throws com.android.volley.AuthFailureError { 
    return params; 
}; 

@Override 
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { 
    try { 
     String jsonString = new String(response.data, 
       HttpHeaderParser.parseCharset(response.headers)); 
     return Response.success(new JSONObject(jsonString), 
       HttpHeaderParser.parseCacheHeaders(response)); 
    } catch (UnsupportedEncodingException e) { 
     return Response.error(new ParseError(e)); 
    } catch (JSONException je) { 
     return Response.error(new ParseError(je)); 
    } 
} 

@Override 
protected void deliverResponse(JSONObject response) { 
    // TODO Auto-generated method stub 
    listener.onResponse(response); 
} 
} 

И положил эти строки в деятельности

CustomRequest jsObjRequest = new CustomRequest(Method.POST, url,params, this.createRequestSuccessListener(), this.createRequestErrorListener()); 
requestQueue.add(jsObjRequest); 

Если я t не работает, перед тем как сделать запрос очистить кеш requestQueue.getCache(). clear();

0

На всякий случай мой ответ работает на кого-то! Итак, я использовал запрос POST, но не отправлял никаких параметров вместе с запросом. Когда я заменил POST с помощью GET, все сработало нормально. Обратите внимание, что мне не нужно отправлять какие-либо параметры вместе с URL-адресом.

Смежные вопросы