In formulier-POST ferskeppe troch in HTTP-proxy mei Java HttpURLConnection
Iepenje in ferbining mei in eksplisite HTTP-proxy, kies POST, skriuw de lichem fan it formulier en besjoch it HTTP-resultaat.
openConnection(proxy) bout de ferbining mei in rûte. Stel de HTTP-metoade en it lichem yn op de weromjûn HttpURLConnection foardat jo it fersyk starte:
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();
}It foarbyld stjoert in lyts formulier, prints it status út en slút in net brûkte antwurdstream. Ferfang dy lêste stap troch de ôfhanneling fan de antwurdlichem yn de applikaasje as it lichem nedich is.
De hostnamme en poarte fan de proxy hearre by route. Foar in tastiene iepenbiere formulierproef sûnder proxy-account, kies it HTTP-adres út in ynskriuwing yn 'e HTTP-proxylist. De URL bliuwt it einpunt fan it formulier. Foar dynamyske formulierwearden, brûk URLEncoder om elke wearde te kodearjen ynstee fan net-escaped ynfier te ferbinen mei gelyktekens en ampersands.
De útfierstream stjoert de taret bytes. Lês it status nei it skriuwen en sluten, en kies dan de gewoane of flater-antwurdstream sa't it past. In net-súksesfol HTTP-antwurd kin brûkbere applikaasje- of proxy-flaterynhâld befetsje.