Ibgħat POST ta' formola permezz ta' proxy HTTP b'Java HttpURLConnection
Iftaħ konnessjoni b'proxy HTTP espliċitu, agħżel POST, ikteb il-ġisem tal-formola u eżamina r-riżultat HTTP.
openConnection(proxy) jibni l-konnessjoni b'rotta. Issettja l-metodu HTTP u l-ġisem fuq l-HttpURLConnection mogħtija lura qabel ma tibda t-talba:
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();
}L-eżempju jibgħat formola żgħira, jistampa l-istat tagħha u jagħlaq fluss ta' risposta mhux użat. Ibdel dak l-aħħar pass bil-maniġġjar tal-ġisem tar-risposta fl-applikazzjoni meta l-ġisem ikun meħtieġ.
L-isem tal-host u l-port tal-proxy jappartjenu lil route. Għal test pubbliku ta' formola permess mingħajr kont tal-proxy, agħżel l-indirizz HTTP minn entrata fil-lista tal-proxy HTTP. L-URL jibqa' l-punt tat-tmiem tal-formola. Għal valuri dinamiċi tal-formola, uża URLEncoder biex tikkodifika kull valur minflok ma tgħaqqad input mhux escapejat b'sinjali ugwali u ampersand.
Il-fluss tal-output jibgħat il-bytes ippreparati. Aqra l-istat wara l-kitba u l-għeluq, imbagħad agħżel il-fluss tar-risposta ordinarju jew tal-iżball skont il-ħtieġa. Risposta HTTP li ma tkunx ta' suċċess tista' jkun fiha kontenut ta' żball utli mill-applikazzjoni jew mill-proxy.