Giới hạn thông tin xác thực proxy của HtmlUnit theo máy chủ proxy
Cấu hình proxy HtmlUnit và dùng phạm vi host/port của nhà cung cấp thông tin xác thực, kèm trường domain và workstation cho NTLM.
Cấu hình proxy của HtmlUnit chọn máy trung gian, còn nhà cung cấp thông tin xác thực cung cấp tài khoản cho host và port đó. Với proxy NTLM, API HtmlUnit 4.21.0 có một phương thức riêng:
String proxyHost = "proxy.example";
int proxyPort = 8080;
DefaultCredentialsProvider credentials = new DefaultCredentialsProvider();
credentials.addNTLMCredentials(
user, password.toCharArray(), proxyHost, proxyPort, workstation, domain);
try (WebClient browser = new WebClient()) {
browser.getOptions().setProxyConfig(
new ProxyConfig(proxyHost, proxyPort, "http"));
browser.setCredentialsProvider(credentials);
HtmlPage page = browser.getPage("https://www.example.com/");
}
Các lớp này dùng các gói org.htmlunit hiện hành, với HtmlPage nằm trong org.htmlunit.html. Hãy cung cấp workstation và domain của tài khoản proxy theo môi trường; trang web đích không phải là trường domain của NTLM.
Với mục nhập thông tin xác thực username/password thông thường, cùng nhà cung cấp có addCredentials gồm username, mật khẩu dạng char-array, host, port và realm. Realm null áp dụng cho mọi realm trên endpoint đã giới hạn đó.
Hãy dùng overload khớp với cơ chế xác thực của proxy và phần phụ thuộc thực tế được triển khai. Các ví dụ HtmlUnit 2.x cũ dùng tên gói khác và có thể có chữ ký mật khẩu dạng string; đoạn mã trên dùng API 4.21.0.