Tuma POST ya fomu kupitia proksi ya HTTP kwa Java HttpURLConnection
Fungua muunganisho na proksi ya HTTP iliyo wazi, chagua POST, andika mwili wa fomu na uangalie matokeo ya HTTP.
openConnection(proxy) huunda muunganisho na njia. Weka mbinu ya HTTP na mwili kwenye HttpURLConnection iliyorudishwa kabla ya kuanza ombi:
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();
}Mfano hutuma fomu ndogo, huchapisha hali yake na hufunga mtiririko wa jibu ambao haujatumika. Badilisha hatua hiyo ya mwisho na ushughulikiaji wa mwili wa jibu wa programu wakati mwili unahitajika.
Jina la mwenyeji na bandari ya proksi ni za route. Kwa jaribio la umma la fomu linaloruhusiwa bila akaunti ya proksi, chagua anwani ya HTTP kutoka kwenye ingizo katika orodha ya proksi za HTTP. URL inabaki kuwa kituo cha mwisho cha fomu. Kwa thamani za fomu zinazobadilika, tumia URLEncoder kusimba kila thamani badala ya kuunganisha ingizo lisiloepukwa kwa alama za sawa na ampersand.
Mtiririko wa pato hutuma baiti zilizoandaliwa. Soma hali baada ya kuandika na kufunga, kisha chagua mtiririko wa jibu wa kawaida au wa hitilafu kadri inavyofaa. Jibu la HTTP lisilofanikiwa linaweza kuwa na maudhui ya hitilafu muhimu kutoka kwa programu au proksi.