Я использую сетевую библиотеку Google Volley для выполнения набора операций. В частности, я полагаюсь на StringRequest
, чтобы получить HTML-код некоторых защищенных страниц. Чтобы выполнить (аутентифицированный) запрос, я всегда добавляю к запросу набор файлов cookie.Почему иногда StringRequest от Volley дает мне пустой ответ?
Проблема в том, что без видимых причин Volley иногда дает мне пустой исходный код! (и это БЕЗ кода статуса 204: это чистый 200).
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
// HERE: response.data sometimes has size 0!
// on the other hand, response.statusCode is 200.
// [...]
}
Я совершенно уверен, что это не проблема удаленного сервера (когда я провожу ту же самую страницу, с тем же печеньем, используя веб-браузер, все хорошо). У меня также много вопросов относительно TimeoutError
(не знаю, это что-то актуальное или нет).
Я ДЕЙСТВИТЕЛЬНО соблазн переключиться на что-то написанное ad hoc для того, чтобы все время решить, но многопоточные функции, которые Volley реализует из коробки, по-прежнему являются огромным фактором, который удерживает меня.
Вы пробовали использовать HTTP-прокси, такие как Charles или Fiddler2, чтобы убедиться, что вы получаете правильное тело ответа? – rmtheis