Apache HttpAsyncClient 5: ρύθμιση SOCKS με IOReactorConfig
Ορίστε τη διεύθυνση proxy στον reactor πριν ξεκινήσει το HttpAsyncClient 5, αντί να εφαρμόσετε τη ρύθμιση socket του κλασικού πελάτη.
import java.net.InetSocketAddress;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.client5.http.impl.async.HttpAsyncClients;
var reactor = IOReactorConfig.custom()
.setSocksProxyAddress(new InetSocketAddress("proxy.example", 1080))
.build();
var client = HttpAsyncClients.custom()
.setIOReactorConfig(reactor)
.build();
client.start();Στείλτε τα προβλεπόμενα ασύγχρονα αιτήματα με αυτόν τον πελάτη, διατηρώντας τα πραγματικά URI προορισμού τους. Κρατήστε τον πελάτη ενεργό όσο διαρκεί η εργασία και κλείστε τον μετά. Για επιτρεπόμενα αιτήματα σε δημόσιους προορισμούς, η λίστα SOCKS proxy δίνει υποψήφιους κεντρικούς υπολογιστές και θύρες· επιλέξτε έκδοση SOCKS που υποστηρίζει ο reactor.
Ο reactor ελέγχει αυτή την ασύγχρονη διαδρομή socket. Μια διαδρομή HTTP proxy με HttpHost ή το SocketConfig του κλασικού διαχειριστή συνδέσεων είναι άλλη διεπαφή.
Για έλεγχο ταυτότητας SOCKS με όνομα χρήστη και κωδικό, όταν υποστηρίζεται, ορίστε επίσης setSocksProxyUsername και setSocksProxyPassword στον builder του reactor. Ολοκληρώστε τη ρύθμιση πριν από το start, αντί να αλλάζετε κοινές ρυθμίσεις όσο εκτελούνται αιτήματα.