import org.htmlunit.ProxyConfig;
import org.htmlunit.WebClient;

try (WebClient browser = new WebClient()) {
    ProxyConfig proxy =
        new ProxyConfig("proxy.example.net", 8080, "http");
    proxy.addHostsToProxyBypass("localhost");
    browser.getOptions().setProxyConfig(proxy);

    browser.getPage("https://example.net/");
}

ProxyConfig را روی WebClient که صفحه را پیش از پیمایش بارگذاری می‌کند تنظیم کنید. این کار از فضای نام org.htmlunit استفاده می‌کند؛ وابستگی‌های قدیمی‌تر از com.gargoylesoftware.htmlunit استفاده می‌کردند و ممکن است سازنده‌های متفاوتی ارائه دهند.

میزبان و پورت عددی پروکسی را با یک نامزد بدون احراز هویت از فهرست پروکسی HTTP برای این نمونه صفحه عمومی جایگزین کنید. "http" سازنده، واسطه را توصیف می‌کند، حتی برای صفحه HTTPS. پیشوند URL را در آرگومان نام میزبان قرار ندهید و پروتکل را فقط برای هم‌خوانی با مقصد تغییر ندهید.

مقادیر عبور، عبارت‌های باقاعده هستند، نه قواعد PAC و نه فهرست محیطی جداشده با ویرگول. اگر درخواستی به‌طور غیرمنتظره مستقیم برود، میزبان درخواستی را با آن الگوها مقایسه کنید و تأیید کنید که از این WebClient استفاده می‌کند.

WebClient یا کلاینت HTTP که جداگانه ساخته شده، این شیء پیکربندی را به ارث نمی‌برد. نمونه‌های قابل استفاده مجدد را پیش از کارشان پیکربندی کنید، به‌جای تغییر وضعیت سراسری پیرامون درخواست‌های هم‌زمان. تأیید مقصد و ورود به وب‌سایت جدا باقی می‌مانند؛ پروکسی احراز هویت‌شده همچنین به رابط اعتبارنامه نسخه نصب‌شده HtmlUnit نیاز دارد. برای نمونه، HtmlUnit 4.21.0 اعتبارنامه‌های پروکسی را بر اساس میزبان و پورت محدود می‌کند.

مقالات مرتبط