Διαμόρφωση ρητού proxy στο AsyncHttpClient 2.x
Ορίστε ένα ProxyServer σε διαμόρφωση AsyncHttpClient 2.12.4 πριν δημιουργηθεί ο client, με συνειδητή επιλογή σχετικά με την ανακάλυψη ιδιοτήτων JVM.
DefaultAsyncHttpClientConfig.Builder config = Dsl.config()
.setProxyServer(
new ProxyServer.Builder("proxy.example", 8080))
.setRequestTimeout(15000);
try (AsyncHttpClient client = Dsl.asyncHttpClient(config)) {
Response response = client.prepareGet("https://www.example.com/")
.execute().toCompletableFuture().join();
System.out.println(response.getStatusCode());
}
Αυτό είναι το API του org.asynchttpclient 2.12.4, με το ProxyServer στο πακέτο proxy. Για αυτό το δημόσιο παράδειγμα HTTPS, αντικαταστήστε τον μεσάζοντα με έναν μη πιστοποιημένο υποψήφιο από τη λίστα proxy HTTP και ορίστε τον ιστότοπο χωριστά. Η διαμόρφωση παρέχεται πριν από τη δημιουργία του client, και ο προϋπολογισμός των 15 δευτερολέπτων για το αίτημα είναι μέρος αυτής της ρύθμισης.
Το παράδειγμα περιμένει το future μέσα στη διάρκεια ζωής του client. Μια ασύγχρονη εφαρμογή μπορεί να το συνθέσει αντ' αυτού, αλλά πρέπει να κρατήσει τον client μέχρι να ολοκληρωθεί η εργασία που του ανατέθηκε.
Αν οι υποστηριζόμενες ιδιότητες JVM είναι η προβλεπόμενη πηγή πολιτικής, επιλέξτε ρητά το setUseProxyProperties(true). Η ύπαρξη μιας ιδιότητας σε ένα runtime δεν αποδεικνύει ότι κάθε client την έχει ενεργοποιήσει.
Τα παλαιότερα παραδείγματα Dispatch συχνά περιτυλίγουν το com.ning και χρησιμοποιούν διαφορετική ιδιότητα ενεργοποίησης. Ευθυγραμμιστείτε με τα imports και το API του υποκείμενου client αντί να αναμειγνύετε εκείνη τη διαμόρφωση με αυτόν τον builder 2.x.