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 ප්රතිචාරයක යෙදුමේ හෝ ප්රොක්සියේ ප්රයෝජනවත් දෝෂ අන්තර්ගතය තිබිය හැක.