Formulario POST bat bidali HTTP proxy baten bidez Java HttpURLConnection erabiliz
Ireki konexio bat HTTP proxy esplizitu batekin, hautatu POST, idatzi formularioaren gorputza eta aztertu HTTP emaitza.
openConnection(proxy) metodoak ibilbide batekin eraikitzen du konexioa. Ezarri HTTP metodoa eta gorputza itzulitako HttpURLConnection-en eskaera hasi aurretik:
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();
}Adibideak formulario txiki bat bidaltzen du, bere egoera inprimatu eta erabili gabeko erantzun-korronte bat ixten du. Ordeztu azken urrats hori aplikazioaren erantzun-gorputzaren kudeaketarekin gorputza behar denean.
Proxyaren ostalari-izena eta portua route-ri dagozkio. Proxy konturik gabeko baimendutako formulario-proba publiko baterako, aukeratu HTTP helbidea HTTP proxy zerrendako sarrera batean. URLak formularioaren amaiera-puntua izaten jarraitzen du. Formulario-balio dinamikoetarako, erabili URLEncoder balio bakoitza kodetzeko, ez lotu ihes egin gabeko sarrera berdintzaile eta ampersand ikurrekin.
Irteera-korronteak prestatutako byteak bidaltzen ditu. Irakurri egoera idatzi eta itxi ondoren, eta aukeratu erantzun-korronte arrunta edo errorearena beharraren arabera. Arrakastatsua ez den HTTP erantzun batek aplikazioaren edo proxyaren errore-eduki erabilgarria izan dezake.