openConnection(proxy) ndërton lidhjen me një rrugë. Vendosni metodën HTTP dhe trupin në HttpURLConnection e kthyer përpara se të nisni kërkesën:

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();
}

Shembulli dërgon një formular të vogël, printon statusin e tij dhe mbyll një rrjedhë përgjigjeje të papërdorur. Zëvendësoni atë hap të fundit me trajtimin e trupit të përgjigjes në aplikacion kur trupi nevojitet.

Emri i strehuesit dhe porta e proxy-t i përkasin route. Për një provë publike formulari të lejuar pa llogari proxy, zgjidhni adresën HTTP nga një zë në listën e proxy-ve HTTP. URL-ja mbetet pika përfundimtare e formulës. Për vlera dinamike formulari, përdorni URLEncoder për të koduar çdo vlerë në vend që të lidhni input të paeskapuar me shenja barazie dhe ampersand.

Rrjedha e daljes dërgon bajtët e përgatitur. Lexoni statusin pas shkrimit dhe mbylljes, pastaj zgjidhni rrjedhën normale të përgjigjes ose atë të gabimit sipas nevojës. Një përgjigje HTTP jo e suksesshme mund të përmbajë përmbajtje të dobishme gabimi nga aplikacioni ose proxy.

Artikuj të ngjashëm