Undici direktas peton tra dispatcher. Kreu ProxyAgent por la elektita HTTP-prokurilo kaj transdonu ĝin ĉe la fetch-voko anstataŭ ŝanĝi la tutprocezan tutmondan dispatcher.

npm install [email protected]
import { fetch, ProxyAgent } from 'undici';

const dispatcher = new ProxyAgent('http://203.0.113.10:8080');

try {
  const response = await fetch('https://example.com/', {
    dispatcher,
    signal: AbortSignal.timeout(15000),
  });

  console.log(response.status);
  console.log(await response.text());
} finally {
  await dispatcher.close();
}

Konservu la programon kiel .mjs-dosieron aŭ uzu ES-modulan projekton. Anstataŭigu la dokumentan IP per HTTP-prokurilo el la listo de HTTP-prokuriloj. La importo intence uzas la fetch-realigon de Undici, do la opcio dispatcher apartenas al la montrita kliento.

Kontrolu Node-kongruecon antaŭ ol kulpigi la IP

La subtenataj Node-versioj dependas de la eldono de Undici. La ekzemplo uzas Undici 8.12.3, kiu postulas Node 22.19.0 aŭ pli novan. Eraro de modulŝargado aŭ motorversio okazas antaŭ ol la peto atingas prokurilon. Kontrolu la postulojn de la instalita pakaĵo anstataŭ supozi ke ĉiu Node rulas la plej novan Undici.

Unu agento povas servi ripetajn petojn

La mallonga programo fermas sian dispatcher ĉe la fino. Se funkcianta aplikaĵo sendas plurajn petojn tra la sama finpunkto, konservu la agenton por tiu laborŝarĝo kaj fermu ĝin kiam la laboro finiĝas. Krei kaj fermi agenton por ĉiu URL malhelpas utilan konektoreuzon.

Tutmonda dispatcher taŭgas nur kiam vi intencas la pli vastan ŝanĝon. Eksplicite transdoni ĝin faciligas testi prokurilan IP sen ŝanĝi elirajn petojn de alia komponanto.

Rigardu la respondon kaj la malsukcesan etapon

Fetch ne traktas ĉiun HTTP-eraran staton kiel rifuzitan Promise. 403 aŭ 429 povas esti efektiva reteja respondo portita tra la prokurilo. Konekta aŭ tunela eraro povas kontraŭe rifuzi la peton antaŭ ekzisto de respondobjekto. Legu la staton aparte de eraroj ĵetitaj de la voko.

Se necesas aŭtentikigo, ProxyAgent de Undici ofertas konstruilajn opciojn. Ne aldonu prokurilan rajtigan kapon al la reteja peto; la agento pritraktas alian konektan salton.

Rilataj artikoloj