Tumia IP ya proxy na Undici ya Node
Weka Undici ProxyAgent kwenye ombi moja la fetch na tenga kundi la miunganisho na trafiki nyingine ya Node.
Undici huelekeza ombi kupitia dispatcher. Unda ProxyAgent kwa proxy ya HTTP iliyochaguliwa na uipe mwito wa fetch badala ya kubadilisha dispatcher ya jumla ya mchakato mzima.
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();
}
Hifadhi programu kama faili .mjs au tumia mradi wa moduli za ES. Badilisha IP ya nyaraka kwa proxy ya HTTP kutoka orodha ya proksi za HTTP. Uingizaji unatumia makusudi utekelezaji wa fetch wa Undici, kwa hiyo chaguo dispatcher ni la mteja katika mfano.
Kagua ulinganifu wa Node kabla ya kulaumu IP
Matoleo ya Node yanayoungwa mkono na Undici hutegemea toleo la kifurushi. Mfano hutumia Undici 8.12.3 inayohitaji Node 22.19.0 au mpya zaidi. Hitilafu ya kupakia moduli au toleo la injini hutokea kabla ombi halijafika kwa proxy. Kagua sharti la kifurushi kilichosakinishwa; usidhani kila Node huendesha Undici mpya zaidi.
Agent mmoja anaweza kuhudumia maombi yanayorudiwa
Programu fupi hufunga dispatcher yake mwishoni. Programu inayoendelea ikituma maombi kadhaa kupitia ncha moja, hifadhi agent kwa mzigo huo na uifunge kazi ikiisha. Kuunda na kufunga agent kwa kila URL huzuia matumizi tena ya miunganisho yenye faida.
Dispatcher ya jumla inafaa tu unapokusudia mabadiliko mapana. Kuipitisha wazi hurahisisha kujaribu IP ya proxy bila kubadilisha maombi yanayotoka ya sehemu nyingine.
Angalia jibu na hatua ya kushindwa
Fetch haichukulii kila hali ya hitilafu ya HTTP kama Promise iliyokataliwa. 403 au 429 inaweza kuwa jibu halisi la tovuti lililobebwa na proxy. Hitilafu ya muunganisho au handaki inaweza badala yake kukataa ombi kabla ya kitu cha jibu kuwepo. Soma hali kando na hitilafu zinazotupwa na mwito.
Uthibitishaji ukihitajika, ProxyAgent ya Undici ina chaguo za kijenzi. Usiongeze kichwa cha idhini ya proxy katika vichwa vya ombi la tovuti; agent hushughulikia hatua nyingine ya muunganisho.