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 பதிலில் பயன்பாட்டின் அல்லது ப்ராக்ஸியின் பயனுள்ள பிழை உள்ளடக்கம் இருக்கலாம்.