2017-08-17 5 views
-1

私はそれに対してRecyclerVieとアダプタを持っています。 アダプターの内部で、viewを押すと、OkHttp3を使用してhttp POSTリクエストを送信します。 したがって、奇妙なリクエストはそれぞれ正常に送信されますが、各偶数リクエスト(ビューをクリックしても)はonFailureにドロップされます。okhttp3 onFailure各偶数リクエストの「予期しないステータスライン」

私はそれまたはデバッグを修正するにはどうすればよい

java.net.ProtocolException: Unexpected status line: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"> 

ONFAILURE側でこのexeptionを得ましたか。 お願いします。

client.newCall(request).enqueue(new Callback() 
    { 
     @Override 
     public void onFailure(Call call, IOException e) 
     { 
      Log.d("TAG", "Запрос отменен в onFailure адаптера схемы " + call.request().toString()); 
      // Отключаем pb в активити схемы 
      ((Activity) mContext).runOnUiThread(new Runnable() 
      { 
       @Override 
       public void run() 
       { 
        // Отключаем progressBar 
        progressBar.setVisibility(View.GONE); 
        Log.d("TAG", "Отключаем progressBar"); 
        Toast.makeText(mContext, " Настройки не применились, попробуйте еще раз", Toast.LENGTH_LONG).show(); 

       } 
      }); 
      call.cancel(); 
     } 

     @Override 
     public void onResponse(Call call, Response response) throws IOException 
     { 
      Log.d("TAG", "Получили Код = " + response.code() + " на " + response.request().method().toString() + " запрос " + call.request().toString()); 
      // Обрабатываем боди только если авторизация прошла и мы получили тело стартовой страницы. 
      if (response.code() == 204) 
      { 
       Log.d("TAG", "Настройка применена успешно"); 
       // Чтобы обращаться к компанентам из ActivityBid нужно использовать runOnUiThread 
       ((Activity) mContext).runOnUiThread(new Runnable() 
       { 
        @Override 
        public void run() 
        { 
         Toast.makeText(mContext, "Установлена схема \n \"" + currSchemaName + "\"", Toast.LENGTH_LONG).show(); 
        } 
       }); 
       try 
       { 
        Log.d("TAG", "Вызываем запрос на обновление схем из адаптера"); 
        ((ActivitySchema) mContext).requestOkHttp("https://lk.mango-office.ru/300000230/" + ls.getCurrBidId() + "/call-fwd-settings/overview", "GET", ""); 
       } catch (JSONException e) 
       { 
        e.printStackTrace(); 
       } 
      } else 
      { 
       Log.d("TAG", "Настройка не применена"); 
       // Отключаем pb в активити схемы 
       ((Activity) mContext).runOnUiThread(new Runnable() 
       { 
        @Override 
        public void run() 
        { 
         // Отключаем progressBar 
         progressBar.setVisibility(View.GONE); 
         Log.d("TAG", "Отключаем progressBar"); 
         Toast.makeText(mContext, " Настройки не применились. Сервер ответил с ошибкой, попробуйте еще раз", Toast.LENGTH_LONG); 
        } 
       }); 
      } 
      // response.body().close(); 
     } 
    } 
    ); 
} 

答えて

0

問題は、要求「接続」ヘッダにあった: はここに私のアダプタコードです。私はそれを「キープアライブ」から「クローズ」に変更し、現在はOKです!

関連する問題