Send form-POST gjøgnum HTTP-proxy við Java HttpURLConnection
Lat upp samband við greiðan HTTP-proxy, vel POST, skriva form-kroppin og kanna HTTP-úrslitið.
openConnection(proxy) byggir sambandið við eina rút. Set HTTP-háttin og kroppin á afturgivna HttpURLConnection, áðrenn fyrispurningurin byrjar:
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 eina lítla form, prentar støðuna og letur eina óbrúkta svarstreym. Skift hetta seinasta stigið út við viðgerð av svar-kroppinum í tólinum, tá kroppurin er neyðugur.
Proxy-navn og port hoyra til route. Til eina loyvda almenna form-próving uttan proxy-konto, vel HTTP-adressuna úr einum stak í HTTP-proxy-listanum. URL-in verður verandi endapunktur formsins. Til dynamiskar formvirðir, brúka URLEncoder til at koda hvørja virði, í staðin fyri at seta óescaperað innlegg saman við javnateknum og ampersand-teknum.
Útstreymurin sendir tey fyriskipaðu bytini. Les støðuna eftir at hava skrivað og latið aftur, vel so vanliga ella feil-svarstreymin eftir tørvi. Eitt óheppni HTTP-svar kann hava nyttigt feil-innihald frá tólinum ella proxynum.