Trong Fluent API của Apache HttpClient 5, Request có thể chọn proxy trong khi Executor cung cấp tài khoản của nó. Thực thi yêu cầu qua đối tượng có thông tin xác thực đó:

HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
    .auth(proxy, proxyUser, proxyPassword.toCharArray());

String body = executor.execute(
        Request.get("https://www.example.com/").viaProxy(proxy))
    .returnContent()
    .asString();

Executor và Request đến từ org.apache.hc.client5.http.fluent; HttpHost đến từ org.apache.hc.core5.http. Các biến tài khoản đến từ cấu hình của ứng dụng.

Hai cách dùng proxy cố ý mô tả cùng một máy chủ và cổng. viaProxy chọn tuyến, còn auth đăng ký thông tin xác thực cho trung gian đó với Executor. Nếu kết quả cuối cùng vẫn là 407, hãy so sánh tuyến đã chọn với phạm vi thông tin xác thực.

Gọi phương thức execute tiện lợi của một Request riêng sẽ dùng một đường thực thi khác. Giữ Executor có thông tin xác thực gắn với thao tác, như trong ví dụ, để máy khách nhận thử thách có tài khoản đã cấu hình.

Ví dụ dùng giao diện mật khẩu char-array của 5.x. Các đoạn HttpClient 4 Fluent cũ dùng gói và chữ ký phương thức khác. Khi yêu cầu hoàn tất, returnContent tiêu thụ thực thể phản hồi và giải phóng kết nối để tái sử dụng.

Bài viết liên quan