Java HttpURLConnection Probleme mit IllegalStateArgument: Bereits Angeschlossen

Diese Frage scheint klar zu sein, was passiert: ich habe bereits eine Verbindung öffnen, das problem ist, ich weiß nicht, warum.

Momentan bin ich einfach nur testen http-login und-out.

Login:

HttpURLConnection con = openConnection(URLGenerator.getLoginURL(), true, true,"POST");
        String content = ...;
        writeToOutput(con, content);
        con.connect();
        String cookieVal = con.getHeaderField("Set-Cookie");
        if(cookieVal != null)
        {
            sessionId = cookieVal.substring(0, cookieVal.indexOf(";"));
        }
        con.disconnect();
        return con.getResponseCode();

Logout:

    HttpURLConnection con = openConnection(URLGenerator.getLogoutURL(), true, true,"GET");
    String content = ...;
    writeToOutput(con, content);
    setCookies(con);
    con.connect();
    con.disconnect();
    return con.getResponseCode();

und für die code-Liebhaber die Funktion OpenConnection (weil ich weiß, das erste, was die Leute Fragen ist "wo ist diese Funktion"

public static final HttpURLConnection openConnection(URL url, boolean in, boolean out,String requestMethode) throws IOException{
        HttpURLConnection con = (HttpURLConnection) url.openConnection ();
        con.setDoInput(in);
        con.setDoOutput (out);
        if(requestMethode == null){
            requestMethode = "GET";
        }
        con.setRequestMethod(requestMethode);
        con.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");
        return con;
    }

Dies ist die Funktion, löst die java.lang.IllegalStateException: Bereits angeschlossen

public static final void setCookies(HttpURLConnection con){
        if(sessionId != null)
        {
            con.setRequestProperty("Cookie", sessionId);
        }
    }

Was ich nicht verstehe ist, warum die Verbindung ist noch offen.

Ich sogar versucht, disconnect aufrufen, aber es funktioniert nicht.

Dachte ich, der AUFTRAGGEBER, war die Einrichtung einer HttpURLConncetion Objekt und verbinden, um die Anforderung auszuführen, erhalten das Ergebnis und dass die Verbindung beendet.

Irgendwelche Ideen?

Dank Jason

InformationsquelleAutor Jason Rogers | 2011-03-20
Schreibe einen Kommentar