openConnection(proxy) bağlantıyı bir rota ile kurar. İsteği başlatmadan önce döndürülen HttpURLConnection üzerinde HTTP yöntemini ve gövdeyi ayarlayı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();
}

Örnek küçük bir form gönderir, durumunu yazdırır ve kullanılmayan bir yanıt akışını kapatır. Gövde gerektiğinde bu son adımı uygulamanın yanıt gövdesi işlemesiyle değiştirin.

Vekil sunucunun ana bilgisayar adı ve bağlantı noktası route'a aittir. Vekil hesabı olmadan izin verilen genel bir form testi için HTTP vekil sunucu listesindeki bir girişten HTTP adresini seçin. URL formun uç noktası olarak kalır. Dinamik form değerleri için her değeri URLEncoder ile kodlayın; kaçış uygulanmamış girdiyi eşittir ve ampersand işaretleriyle birleştirmeyin.

Çıktı akışı hazırlanan baytları gönderir. Yazdıktan ve kapattıktan sonra durumu okuyun, ardından gerektiği gibi normal veya hata yanıt akışını seçin. Başarısız bir HTTP yanıtı, uygulamadan veya vekil sunucudan gelen yararlı hata içeriği barındırabilir.

İlgili makaleler