2015-08-08 4 views
0

Я использовал ниже код, чтобы открыть файл, но доза не работает, и сообщение «BasicNetwork.performRequest: Неожиданный код ответа 401 для http: // .....» показано. что не так с андроидом и залпом?Основная авторизация Http с библиотекой Android Volley

StringRequest sr = new StringRequest(Method.POST,url, 
      new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 

       pages = PageParser.parse(response); 
       adapter = new DailyReportAdapter(MenuDailyReport.this, 
         pages); 
       lv.setAdapter(adapter); 
       pDialog.hide(); 

      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       // error.printStackTrace(); 
       pDialog.hide(); 
       Toast.makeText(MenuDailyReport.this, 
         "Could not connect to server"+error.getMessage(), Toast.LENGTH_LONG) 
         .show(); 
       finish(); 
      } 
     }) 
{ 

     @Override 
     protected Map<String,String> getParams(){ 
      Map<String,String> params = new HashMap<String, String>(); 

      params.put("username","mohammad"); 
      params.put("password","mohammad123"); 
      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"); 
      return params; 
     } 
    ; 
}; 
+0

Это работает с использованием внешнего инструмента, такого как почтальон? –

+0

401 код ответа неавторизованный, я думаю, вам стоит просмотреть свой серверный код (веб-сервис). не следует проверять авторизацию при входе в систему. Если это не фаза входа, вместо этого используйте токен-носитель. Кроме того, для получения более подробной информации, введите код веб-сервиса. – BNK

ответ

0

Проблема может быть в кодировке, должна быть utf-8, я думаю. Так

Попробуй Перекрыть этот Митос, внутри от отменяет getheaders(), как это:

@Override 
    public String getBodyContentType() { 
     return "application/x-www-form-urlencoded; charset=UTF-8"; 
    } 

Я рекомендую использовать однонаправленный токен в качестве заголовка, тем лучше. С уважением.

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