在以下代码选择中,正在进行API调用。这里的问题是,如果删除涉及加载Cookies的行,则不会得到异常(java.lang.IllegalStateException“建立连接后无法设置请求属性”)。当我确实包含那部分代码时,就会发生异常。
我的第一个问题是要理解:为什么在加载cookie的过程中会这样做但并非没有?
我的第二个问题是找到解决方法:我该如何解决?
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");