建立连接后设置属性(java.lang.IllegalStateException)-HttpURLConnection

时间:2018-12-07 08:45:43

标签: java cookies httpurlconnection

在以下代码选择中,正在进行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");

0 个答案:

没有答案