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 प्रतिसादात अनुप्रयोग किंवा प्रॉक्सीची उपयुक्त त्रुटी सामग्री असू शकते.