Java HttpURLConnection ಜೊತೆಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಫಾರ್ಮ್ POST ಕಳುಹಿಸಿ
ಸ್ಪಷ್ಟ HTTP ಪ್ರಾಕ್ಸಿಯೊಂದಿಗೆ ಸಂಪರ್ಕ ತೆರೆಯಿರಿ, POST ಆಯ್ಕೆಮಾಡಿ, ಫಾರ್ಮ್ನ ಬಾಡಿಯನ್ನು ಬರೆಯಿರಿ ಮತ್ತು ಅದರ HTTP ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಿ.
openConnection(proxy) ಒಂದು ಮಾರ್ಗದೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ವಿನಂತಿ ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಹಿಂತಿರುಗಿಸಿದ HttpURLConnection ಮೇಲೆ HTTP ವಿಧಾನ ಮತ್ತು ಬಾಡಿಯನ್ನು ಹೊಂದಿಸಿ:
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 ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಪ್ರಾಕ್ಸಿಯ ಉಪಯುಕ್ತ ದೋಷ ವಿಷಯ ಇರಬಹುದು.