Senda form-POST í gegnum HTTP-milliþjón með Java HttpURLConnection
Opnaðu tengingu við skýran HTTP-milliþjón, veldu POST, skrifaðu líkama formsins og skoðaðu HTTP-niðurstöðuna.
openConnection(proxy) byggir tenginguna með slóð. Stilltu HTTP-aðferðina og líkamann á HttpURLConnection sem skilað er áður en beiðnin hefst:
Proxy route = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
HttpURLConnection connection = (HttpURLConnection)
URI.create("http://www.example.com/submit").toURL().openConnection(route);
try {
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded; charset=UTF-8");
byte[] form = "message=hello+proxy".getBytes(StandardCharsets.UTF_8);
try (OutputStream out = connection.getOutputStream()) {
out.write(form);
}
int status = connection.getResponseCode();
System.out.println(status);
InputStream response = status >= 400
? connection.getErrorStream() : connection.getInputStream();
if (response != null) response.close();
} finally {
connection.disconnect();
}Dæmið sendir lítla form, prentar stöðu hennar og lokar ónotuðum svarstraumi. Skiptu þessu síðasta skrefi út fyrir meðferð svarlíkama í forritinu þegar líkamans er þörf.
Hýsilnafn og port milliþjónsins tilheyra route. Fyrir leyfða opinbera formprófun án milliþjónsreiknings skaltu velja HTTP-vesluna úr færslu í HTTP-milliþjónalistanum. Slóðin er áfram endapunktur formsins. Fyrir kvik formgildi skaltu nota URLEncoder til að kóða hvert gildi í stað þess að tengja óvarið inntak með jafnaðarmerkjum og ampersöndum.
Útstraumurinn sendir undirbúin bætin. Lestu stöðuna eftir að hafa skrifað og lokað, veldu síðan venjulegan eða villu-svarstraum eftir þörfum. Óárangursríkt HTTP-svar getur innihaldið gagnlegt villuefni frá forritinu eða milliþjóninum.