4

我收到此堆栈跟踪的异常

Exception in thread "main" java.lang.IllegalStateException: Already connected
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:2410)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.setRequestProperty(HttpsURLConnectionImpl.java:296)
at com.hello.world.CookieManager.setCookies(CookieManager.java:124)
at com.hello.world.HttpHandler.PostHttps(HttpHandler.java:101)

这些是 HttpHandler.PostHttps 中的行

URL url = new URL("https://www.example.com/");
HttpsURLConnection httpsConn = (HttpsURLConnection)url.openConnection();
cm.setCookies(httpsConn);

这些是 CookieManager.setCookies 中的

String cookieStr = "name=value";
httpsConn.setRequestProperty("Cookie", cookieStr);

我知道在连接打开时我无法设置 cookie 标头。但是除了使用 openConnection() 初始化对象然后添加 cookie 之外,我不会在连接的对象上调用任何东西。

我也知道调用其他一些方法,例如 getHeaderFiles 或运行流将打开连接,并且不会调用此类方法。

编辑:

我使用的是 JDK 1.6.0.39 我下载了最新版本 1.7.0.51 并已修复。原来这毕竟是一个版本问题。

编辑2:

它再次出现,奇怪的是我必须添加。

4

0 回答 0