Το Got επιλέγει πράκτορες SOCKS μέσω των κλειδιών HTTP και HTTPS
Αναθέστε ένα SocksProxyAgent στις καταχωρίσεις πράκτορα του Got ανά πρωτόκολλο προορισμού, κρατώντας τη διαδρομή HTTP/2 ξεχωριστή.
Το αντικείμενο agent του Got κλειδώνεται κατά το πρωτόκολλο προορισμού. Επομένως μια σύνδεση SOCKS για διεύθυνση HTTPS ανήκει στο https, όχι σε νέο κλειδί με όνομα socks.
Για μια υπάρχουσα εφαρμογή ESM που χρησιμοποιεί Got και socks-proxy-agent στη διαδρομή HTTP/1:
import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
http2: false,
agent: {
http: agent,
https: agent,
},
timeout: {request: 20000},
}).text();
Η λίστα διακομιστών μεσολάβησης SOCKS5 παρέχει υποψηφίους για τη διεύθυνση μεσολάβησης χωρίς λογαριασμό του παραδείγματος. Ο ίδιος πράκτορας μπορεί να εξυπηρετήσει τις καταχωρίσεις HTTP και HTTPS που φαίνονται. Καθιερώνει τη σύνδεση SOCKS και μετά η διαδρομή HTTPS εκτελεί τη χειραψία TLS με τον προορισμό.
Σε αυτόν τον πράκτορα το socks5h αφήνει την επίλυση του ονόματος κεντρικού υπολογιστή προορισμού στον μεσολαβητή SOCKS. Το socks5 επιλέγει τοπική επίλυση. Το όνομα του ίδιου του μεσολαβητή πρέπει ακόμη να είναι προσβάσιμο από τη διεργασία Node.
Η υποδοχή πράκτορα HTTP/2 του Got περιμένει διαφορετική διεπαφή. Μην αντιγράψετε αυτόν τον πράκτορα στο agent.http2 και μην υποθέσετε ότι παρέχει υποστήριξη μεσολάβησης HTTP/2.
Επαναχρησιμοποιήστε τον ρυθμισμένο πράκτορα για τον φόρτο εργασίας και καταστρέψτε τον όταν τερματίζεται ο ιδιοκτήτης του. Ταιριάξτε τις εκδόσεις πακέτων με το περιβάλλον Node της εφαρμογής· αυτό το παράδειγμα χρησιμοποιεί την ονομασμένη εξαγωγή SocksProxyAgent.