При следующем выборе кода выполняется вызов API.Проблема здесь заключается в том, что если я удаляю строки, связанные с загрузкой Cookies, я не получаю исключение (java.lang.IllegalStateException «Невозможно установить свойство запроса после установления соединения»).Когда я включаю этот бит кода, возникает исключение.
Мой первый вопрос - для понимания: почему это происходит с битом с загрузкой куки, но не без него?
Мой второй вопрос - найти решение: как мне обойти это?
con = (HttpURLConnection) new URL(url).openConnection();
Map<String, List<String>> headerFields = con.getHeaderFields();
List<String> cookiesHeader = headerFields.get(COOKIES_HEADER);
if (cookiesHeader != null) {
for (String cookie : cookiesHeader)
{
msCookieManager.getCookieStore().add(null, HttpCookie.parse(cookie).get(0));
}
}
if (msCookieManager.getCookieStore().getCookies().size() > 0) {
con.setRequestProperty("Cookie",
TextUtils.join(";", msCookieManager.getCookieStore().getCookies()));
}
con.setRequestMethod("POST");