Den Proxy im WebClient von HtmlUnit setzen
Konfigurieren Sie den eigenen ProxyConfig von HtmlUnit vor dem Laden von Seiten, einschließlich Endpunktschema und Umgehungsregeln für reguläre Ausdrücke.
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/");
}
Setzen Sie ProxyConfig auf dem WebClient, der die Seite lädt, bevor navigiert wird. Dies verwendet den Namensraum org.htmlunit; ältere Abhängigkeiten verwendeten com.gargoylesoftware.htmlunit und bieten möglicherweise andere Konstruktoren.
Ersetzen Sie Proxy-Host und ganzzahligen Port durch einen nicht authentifizierten Kandidaten aus der HTTP-Proxy-Liste für dieses Beispiel einer öffentlichen Seite. Das "http" des Konstruktors beschreibt den Vermittler, auch für eine HTTPS-Seite. Setzen Sie kein URL-Präfix in das Hostnamen-Argument und ändern Sie das Protokoll nicht nur, um zum Ziel zu passen.
Umgehungswerte sind reguläre Ausdrücke, keine PAC-Regeln und keine durch Kommas getrennte Umgebungsliste. Wenn eine Anfrage unerwartet direkt geht, vergleichen Sie den angeforderten Host mit diesen Mustern und bestätigen Sie, dass er diesen WebClient verwendet.
Ein separat erzeugter WebClient oder HTTP-Client erbt dieses Konfigurationsobjekt nicht. Konfigurieren Sie wiederverwendbare Instanzen vor ihrer Arbeit, statt globalen Zustand rund um gleichzeitige Anfragen zu ändern. Zielprüfung und Website-Anmeldung bleiben getrennt; ein authentifizierter Proxy benötigt außerdem die Anmeldedaten-Schnittstelle der installierten HtmlUnit-Version. Zum Beispiel begrenzt HtmlUnit 4.21.0 Proxy-Anmeldedaten auf Host und Port.