openConnection(proxy) baut d'Verbindung mat enger Route op. Setzt d'HTTP-Method an de Kierper op der zréckginn HttpURLConnection, ier Dir d'Ufro start:

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

D'Beispill schéckt e klengen Formulaire, dréckt säi Status aus a schléisst en onbenotzte Äntwertstroum. Ersetzt dee leschte Schrëtt duerch d'Behandlung vum Äntwertkierper an der Applikatioun, wann de Kierper gebraucht gëtt.

Den Hostnumm an de Port vum Proxy gehéieren zu route. Fir en erlaabten ëffentleche Formulairetest ouni Proxy-Konto, wielt d'HTTP-Adress aus engem Andrag an der HTTP-Proxy-Lëscht. D'URL bleift den Endpunkt vum Formulaire. Fir dynamesch Formulairewäerter benotzt URLEncoder fir all Wäert ze kodéieren, amplaz ongescapéierten Input mat Gläichheets- an Ampersandzeechen ze verbannen.

Den Ausgabstroum schéckt déi virbereet Bytes. Liest den Status no dem Schreiwen an Zoumaachen, a wielt dann den normale oder de Feeler-Äntwertstroum wéi et passt. Eng net erfolgreich HTTP-Äntwert kann nëtzlechen Applikatiouns- oder Proxy-Feelerinhalt enthalen.

Ähnlech Artikelen