Portál AbcLinuxu, 8. května 2025 07:46

Dotaz: java HttpURLConnection IllegalStateException: connect in progress

12.3.2019 19:16 Raaďa
java HttpURLConnection IllegalStateException: connect in progress
Přečteno: 834×
Odpovědět | Admin

K zápisu dat přes http potřebuji X-CSRF-token. Nejdříve se tedy připojím metodou GET a získám jej. Když se chci přepnout na metodu POST, dostanu

Exception in thread "main" java.lang.IllegalStateException: connect in progress
at sun.net.www.protocol.http.HttpURLConnection.setRequestMethod(Unknown Source)
at Data.getData(getNaivePickerData.java:102)
at Data.run(getNaivePickerData.java:32)
at getNaivePickerData.main(getNaivePickerData.java:8)

Hledal jsem na netu docela dlouho, ale nic ze zmiňovaných řešení (např. před přepnutím na POST použít hpCon.disconnect()) nepomohlo.

 

Úryvek z kódu:

.....

URL hp = new URL(urlPostBatch);
HttpURLConnection hpCon = (HttpURLConnection)hp.openConnection();
hpCon.setRequestMethod("GET");
hpCon.setRequestProperty("x-csrf-token", "fetch");
this.XCSRFtoken = hpCon.getHeaderField("x-csrf-token");

hpCon.setRequestMethod("POST");  //<--Tady mi to hodí chybovou hlášku
hpCon.setDoOutput(true);
hpCon.setRequestProperty("X-CSRF-token", this.XCSRFtoken);
.....

Jakékoliv rady jsou vítány ...

Díky

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.3.2019 09:30 .
Rozbalit Rozbalit vše Re: java HttpURLConnection IllegalStateException: connect in progress
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli je ten hpCon v obou případech ten samý objekt, tak prostě vytvoř novou connection. HttpURLConnection je jen na jeden request.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.