Node Undici менен прокси IP колдонуңуз
Бир fetch суроосуна Undici ProxyAgent берип, анын туташуу пулун башка Node трафигинен бөлүңүз.
Undici суроону dispatcher аркылуу багыттайт. Тандалган HTTP проксиге ProxyAgent түзүп, бүткүл процесстин глобалдык dispatcherин өзгөртпөй fetch чакыруусуна бериңиз.
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();
}
Программаны .mjs файлы катары сактаңыз же ES модул долбоорун колдонуңуз. Документтик IPни HTTP проксилердин тизмесинен HTTP проксиге алмаштырыңыз. Импорт атайын Undici fetch ишке ашыруусун колдонот, демек dispatcher параметри мисалдагы кардарга тиешелүү.
IPни күнөөлөбөй туруп Node шайкештигин текшериңиз
Undici колдогон Node версиялары пакет чыгарылышына байланыштуу. Мисал Undici 8.12.3 колдонот, ага Node 22.19.0 же жаңыраагы керек. Модул жүктөө же кыймылдаткыч версиясынын катасы суроо проксиге жеткенге чейин болот. Ар Node эң жаңы Undiciни иштетет деп ойлобой, орнотулган пакеттин талабын текшериңиз.
Бир agent кайталанган суроолорго кызмат кыла алат
Кыска программа аягында dispatcherин жабат. Иштеп жаткан тиркеме бир чекит аркылуу бир нече суроо жөнөтсө, agentти ошол жүк үчүн сактап, иш бүткөндө жабыңыз. Ар URL үчүн agent түзүп жабуу туташууну пайдалуу кайра колдонууга тоскоол.
Глобалдык dispatcher кеңири өзгөртүү көздөлгөндө гана ылайык. Аны так берүү башка компоненттин чыгыш суроолорун өзгөртпөй прокси IP сыноону жеңилдетет.
Жоопту жана ката баскычын караңыз
Fetch ар HTTP ката абалын четке кагылган Promise дебейт. 403 же 429 прокси ташыган сайттын чыныгы жообу болушу мүмкүн. Туташуу же туннель катасы жооп объектиси түзүлө электе суроону четке кагышы мүмкүн. Абалды чакыруу чыгарган каталардан бөлүп окуңуз.
Аутентификация керек болсо, Undici ProxyAgent конструктордук параметрлерди берет. Прокси авторизациясынын башын сайт суроосунун баштарына кошпоңуз; agent башка туташуу бөлүгүн башкарат.