Ուղարկել ձևի POST HTTP վստահված սերվերի միջոցով Java HttpURLConnection-ով
Բացեք կապ բացահայտ HTTP վստահված սերվերի հետ, ընտրեք POST, գրեք ձևի մարմինը և ստուգեք HTTP արդյունքը։
openConnection(proxy) կառուցում է կապը երթուղու հետ։ Մինչ հարցումը սկսելը սահմանեք HTTP մեթոդը և մարմինը վերադարձված HttpURLConnection-ի վրա.
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();
}Օրինակը ուղարկում է փոքր ձև, տպում է նրա կարգավիճակը և փակում չօգտագործված պատասխանի հոսքը։ Երբ մարմինը անհրաժեշտ է, այդ վերջին քայլը փոխարինեք հավելվածի պատասխանի մարմնի մշակմամբ։
Վստահված սերվերի հոսթի անունը և պորտը պատկանում են route-ին։ Առանց վստահված սերվերի հաշվի թույլատրված հանրային ձևի փորձարկման համար ընտրեք HTTP հասցեն HTTP վստահված սերվերների ցանկ-ի գրառումից։ URL-ը մնում է ձևի վերջնակետը։ Դինամիկ ձևի արժեքների համար օգտագործեք URLEncoder՝ յուրաքանչյուր արժեք կոդավորելու համար, փոխարենը չմիացնեք չփախուստված մուտքը հավասարման և ամպերսանդի նշաններով։
Ելքի հոսքը ուղարկում է պատրաստված բայթերը։ Կարդացեք կարգավիճակը գրելուց և փակելուց հետո, ապա ընտրեք սովորական կամ սխալի պատասխանի հոսքը ըստ անհրաժեշտության։ Չհաջողված HTTP պատասխանը կարող է պարունակել հավելվածի կամ վստահված սերվերի օգտակար սխալի բովանդակություն։