Got chọn các tác nhân SOCKS qua các khóa HTTP và HTTPS của nó
Gán SocksProxyAgent cho các mục tác nhân của Got theo giao thức đích và giữ riêng đường HTTP/2.
Đối tượng agent của Got được khóa theo giao thức đích. Vì vậy kết nối SOCKS cho một URL HTTPS thuộc dưới https, không phải dưới một khóa mới tên là socks.
Đối với một ứng dụng ESM hiện có dùng Got và socks-proxy-agent trên đường 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();
Danh sách proxy SOCKS5 cung cấp ứng viên cho URL proxy không có tài khoản trong ví dụ. Cùng tác nhân đó xử lý được cả mục HTTP và HTTPS đã hiển thị. Nó thiết lập kết nối SOCKS, sau đó đường HTTPS thực hiện bắt tay TLS với đích.
Trong tác nhân này, socks5h để việc phân giải tên máy chủ đích cho proxy SOCKS. socks5 thì chọn phân giải cục bộ. Tên máy chủ của chính proxy vẫn phải truy cập được từ tiến trình Node.
Khe tác nhân HTTP/2 của Got mong đợi một giao diện khác. Đừng sao chép tác nhân này vào agent.http2 và cho rằng nó cung cấp hỗ trợ proxy HTTP/2.
Dùng lại tác nhân đã cấu hình cho khối lượng công việc và hủy nó khi chủ sở hữu tắt. Khớp phiên bản gói với môi trường Node của ứng dụng; ví dụ này dùng xuất có tên SocksProxyAgent.