У меня проблема с анализом фрагментированного ответа от сервера. Вот как я создаю запрос (имитирующий отправку формы) с постом.
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("key1","value1")
.build()
val requestBuilder = Request.Builder()
.url(formActionUrl)
.method("POST",requestBody)
.build()
val response = okHttpClient
.newCall(requestBuilder)
.execute()
Проблема для меня здесь, когда я пытаюсь прочитать основной текст.
if(isChunked){
val responseBody = response.body
val source = responseBody!!.source ()
val buffer = Buffer ()
val builder = java.lang.StringBuilder()
while (!source.exhausted ()) {
val readBytes = source.read (buffer, Long.MAX_VALUE)
val data = buffer.readString (Charset.forName ("UTF-8"))
builder.append(data)
}
Log.d("builder",builder.toString())
}
Это регистрация некоторых символов. И я не могу получить данные HTML.
Отладка: Я попытался повторить точный вызов с почтальоном, но я успешно получаю ответ HTML при отладке со Stetho я не вижу ответа HTML (вкладка ответа пуста), хотя я получаю 200 успешных кодов.
Полагаю, мне придется каким-то образом читать фрагменты, возможно, пользовательский перехватчик или что-то в этом роде. Кто-нибудь может дать мне подсказку о том, как разобрать / прочитать источник из ответа? - Спасибо!