Έλεγχος ταυτότητας διαμεσολαβητή στο Apache HttpClient 5 Fluent με Executor
Συνδυάστε τη διαδρομή viaProxy ενός Fluent Request με τα διαπιστευτήρια στον Apache HttpClient 5 Executor του.
Στο Fluent API του Apache HttpClient 5, το Request μπορεί να επιλέξει διαμεσολαβητή ενώ το Executor παρέχει τον λογαριασμό του. Εκτελέστε το αίτημα μέσω αυτού του αντικειμένου με διαπιστευτήρια:
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Το Executor και το Request προέρχονται από το org.apache.hc.client5.http.fluent· το HttpHost από το org.apache.hc.core5.http. Οι μεταβλητές λογαριασμού προέρχονται από τη διαμόρφωση της εφαρμογής.
Οι δύο χρήσεις του διαμεσολαβητή περιγράφουν σκόπιμα τον ίδιο κεντρικό υπολογιστή και θύρα. Το viaProxy επιλέγει τη διαδρομή, ενώ το auth καταχωρεί τα διαπιστευτήρια για αυτόν τον μεσάζοντα στο Executor. Αν το τελικό αποτέλεσμα παραμένει 407, συγκρίνετε την επιλεγμένη διαδρομή με το εύρος των διαπιστευτηρίων.
Η κλήση της βολικής μεθόδου execute ενός ξεχωριστού Request θα χρησιμοποιούσε άλλη διαδρομή εκτέλεσης. Κρατήστε το Executor με διαπιστευτήρια συνδεδεμένο με τη λειτουργία, όπως στο παράδειγμα, ώστε ο πελάτης που λαμβάνει την πρόκληση να έχει τον διαμορφωμένο λογαριασμό.
Το παράδειγμα χρησιμοποιεί τη διεπαφή κωδικού char-array του 5.x. Παλαιότερα αποσπάσματα HttpClient 4 Fluent χρησιμοποιούν διαφορετικά πακέτα και υπογραφές μεθόδων. Όταν ολοκληρωθεί το αίτημα, το returnContent καταναλώνει το σώμα της απόκρισης και απελευθερώνει τη σύνδεση για επαναχρησιμοποίηση.