Ορίστε τον διακομιστή μεσολάβησης στο WebClient του HtmlUnit
Διαμορφώστε το ProxyConfig του ίδιου του HtmlUnit πριν από τη φόρτωση σελίδων, συμπεριλαμβανομένου του σχήματος τελικού σημείου και των κανόνων παράκαμψης κανονικών εκφράσεων.
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 περιορίζει τα διαπιστευτήρια του διακομιστή μεσολάβησης ανά κεντρικό υπολογιστή και θύρα.