-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();
}
}
);
}