2015-10-06 2 views
1

Я следил за некоторыми учебниками по подключению phpMyAdmin (WAMP) к моей студии Android. Я внимательно следил за учебником и все еще получаю эту ошибку.
что я делаю неправильно? Я использую свое устройство (Lollipop 5.0) и Android Studio 1.0.Android Studio Volley Library (ошибка базовой сети)

10-07 00:27:03.719 25314-25616/com.example.galvez.php E/Volley﹕ [11353] BasicNetwork.performRequest: Unexpected response code 403 for http://192.16*.**.**/poi/showData.php 

Heres мой андроид код:

public class MainActivity extends Activity { 


EditText POI,POILongLat,POIType,POIAddress,POIZipCode; 
Button insertVal,showVal; 
TextView textResult; 
RequestQueue requestQueue; 
String insertUrl="http://192.168.**.**/poi/insertData.php"; 
String showUrl="http://192.168.**.**/poi/showData.php"; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    POI = (EditText) findViewById(R.id.txtPOI); 
    POILongLat=(EditText) findViewById(R.id.txtPOILongLat); 
    POIType = (EditText) findViewById(R.id.txtPOIType); 
    POIAddress = (EditText) findViewById(R.id.txtPOIAddress); 
    POIZipCode = (EditText) findViewById(R.id.txtPOIZipCode); 
    insertVal = (Button) findViewById(R.id.btnInsert); 
    showVal = (Button) findViewById(R.id.btnView); 
    textResult = (TextView) findViewById(R.id.txtResult); 


    requestQueue = Volley.newRequestQueue(getApplicationContext()); 

    showVal.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view){ 
      JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, 
        showUrl,new Response.Listener<JSONObject>(){ 


      @Override 
      public void onResponse(JSONObject response) { 

       try { 
        JSONArray pois = response.getJSONArray("stud"); 
        for(int i=0;i<pois.length();i++){ 
          JSONObject pointOfInterest = pois.getJSONObject(i); 

         String strPOI = pointOfInterest.getString("POI"); 
         String strPOILongLat = pointOfInterest.getString("POILongLat"); 
         String strPOIType = pointOfInterest.getString("POILongLat"); 
         String strPOIAddress = pointOfInterest.getString("POIAddress"); 
         String strPOIZipCode = pointOfInterest.getString("POIZipCode"); 
         textResult.append(strPOI+" "+strPOILongLat+" "+strPOIType+" "+strPOIAddress+" "+strPOIZipCode); 
         Log.v("",strPOI+" "+strPOILongLat+" "+strPOIType+" "+strPOIAddress+" "+strPOIZipCode); 
        } 
        textResult.append("===\n"); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

      } 
      }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 

       } 
      }); 

      requestQueue.add(jsonObjectRequest); 

     } 
    }); 
} 

ответ

1

Если вы посмотрите на сообщение об ошибке:

Unexpected response code 403 

и как вы делаете запрос:

JsonObjectRequest jsonObjectRequest = new  JsonObjectRequest(Request.Method.POST, 
       showUrl,new Response.Listener<JSONObject>() 

Это логично чтобы сделать вывод о том, что ваш сервер создает запрещенный ответ 403 из-за защиты CSRF. Вы можете подтвердить, что это действительно так, посмотрев файл журнала веб-сервера.

У вас есть два варианта: отключите защиту CSRF для этого URL-адреса, если у вас нет критических данных или вы получите запрос на тот же URL-адрес, чтобы файлы cookie были установлены правильно.

+0

Благодарим за быстрый ответ. Как отключить CSRF? Благодаря! –

+0

В PHP он не имеет встроенной поддержки CSRF, ваша защита CSRF поступает из вашей структуры, поэтому вам придется обратиться к ней. Это предполагает, конечно, что файл журнала подтвердил мое предсказание CSRF, вызывающее ошибку 403. – e4c5

+0

Я действительно не знаю, что делать. Я пытался настроить мой WAMP, но ничего не случилось. : '( –

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