L'objecte agent de Got s'indexa pel protocol de destinació. Per tant, una connexió SOCKS per a una URL HTTPS va sota https, no sota una clau nova anomenada socks.

Per a una aplicació ESM existent que fa servir Got i socks-proxy-agent a la ruta 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();

La llista de proxys SOCKS5 proporciona candidats per a l'URL de proxy sense compte de l'exemple. El mateix agent pot gestionar les entrades HTTP i HTTPS mostrades. Estableix la connexió SOCKS i després la ruta HTTPS fa l'apretada de mans TLS amb la destinació.

En aquest agent, socks5h deixa la resolució del nom d'amfitrió de destinació al proxy SOCKS. socks5 tria la resolució local. El nom d'amfitrió del propi proxy encara ha de ser abastable des del procés Node.

La ranura d'agent HTTP/2 de Got espera una interfície diferent. No copieu aquest agent a agent.http2 i assumiu que ofereix suport de proxy HTTP/2.

Reutilitzeu l'agent configurat per a la càrrega i destruïu-lo quan el seu propietari s'aturi. Feu coincidir les versions dels paquets amb l'entorn Node de l'aplicació; aquest exemple fa servir l'exportació anomenada SocksProxyAgent.

Articles relacionats