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 ayarını, gezinmeden önce sayfayı yükleyen WebClient üzerinde yapın. Bu, org.htmlunit ad alanını kullanır; eski bağımlılıklar com.gargoylesoftware.htmlunit kullanıyordu ve farklı kurucular sunabilir.

Bu genel sayfa örneği için proxy ana bilgisayarını ve tam sayı bağlantı noktasını HTTP proxy listesinden kimliği doğrulanmamış bir adayla değiştirin. Kurucunun "http" değeri, HTTPS sayfasında bile aracıyı tanımlar. Ana bilgisayar adı bağımsız değişkenine URL öneki koymayın ve yalnızca hedefle eşleşmesi için protokolü değiştirmeyin.

Atlama değerleri düzenli ifadelerdir; PAC kuralları veya virgülle ayrılmış bir ortam listesi değildir. Bir istek beklenmedik biçimde doğrudan giderse, istenen ana bilgisayarı bu kalıplarla karşılaştırın ve bu WebClient'ı kullandığını doğrulayın.

Ayrı olarak oluşturulan bir WebClient veya HTTP istemcisi bu yapılandırma nesnesini devralmaz. Yeniden kullanılabilir örnekleri, eşzamanlı istekler çevresinde genel durumu değiştirmek yerine işlerinden önce yapılandırın. Hedef doğrulama ve web sitesine giriş ayrı kalır; kimliği doğrulanmış bir proxy, yüklü HtmlUnit sürümünün kimlik bilgileri arabirimine de ihtiyaç duyar. Örneğin, HtmlUnit 4.21.0 proxy kimlik bilgilerini ana bilgisayar ve bağlantı noktasına göre sınırlar.

İlgili makaleler