openConnection(proxy) loob ühenduse marsruudiga. Enne päringu alustamist määrake HTTP-meetod ja keha tagastatud HttpURLConnection-il:

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

Näide saadab väikese vormi, prindib selle oleku ja sulgeb kasutamata vastusevoo. Asendage see viimane samm rakenduse vastuse keha töötlemisega, kui keha on vaja.

Puhverserveri hostinimi ja port kuuluvad route'i. Lubatud avalikuks vormitestiks ilma puhverserveri kontota valige HTTP-aadress kirjest HTTP-puhverserverite loendis. URL jääb vormi lõpp-punktiks. Dünaamiliste vormiväärtuste puhul kasutage iga väärtuse kodeerimiseks URLEncoderit, mitte ärge ühendage escapestamata sisendit võrdus- ja ampersandimärkidega.

Väljundvoog saadab ettevalmistatud baidid. Pärast kirjutamist ja sulgemist lugege olek ning valige seejärel tavaline või vea vastusevoog. Ebaõnnestunud HTTP-vastus võib sisaldada kasulikku rakenduse või puhverserveri veasisu.

Seotud artiklid