openConnection(proxy) dựng kết nối với một tuyến. Đặt phương thức HTTP và phần thân trên HttpURLConnection được trả về trước khi bắt đầu yêu cầu:

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

Ví dụ gửi một biểu mẫu nhỏ, in trạng thái của nó và đóng một luồng phản hồi không dùng. Hãy thay bước cuối đó bằng cách xử lý phần thân phản hồi của ứng dụng khi cần đến phần thân.

Tên máy chủ và cổng của proxy thuộc về route. Đối với một bài kiểm tra biểu mẫu công khai được phép mà không có tài khoản proxy, hãy chọn địa chỉ HTTP từ một mục trong danh sách proxy HTTP. URL vẫn là điểm cuối của biểu mẫu. Với các giá trị biểu mẫu động, hãy dùng URLEncoder để mã hóa từng giá trị thay vì ghép đầu vào chưa escape bằng dấu bằng và dấu và.

Luồng đầu ra gửi các byte đã chuẩn bị. Đọc trạng thái sau khi ghi và đóng, rồi chọn luồng phản hồi thông thường hoặc luồng lỗi cho phù hợp. Một phản hồi HTTP không thành công có thể chứa nội dung lỗi hữu ích từ ứng dụng hoặc proxy.

Bài viết liên quan