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 ప్రతిస్పందనలో అప్లికేషన్ లేదా ప్రాక్సీ యొక్క ఉపయోగకరమైన లోపం కంటెంట్ ఉండవచ్చు.

సంబంధిత వ్యాసాలు