პირველი URL შეიძლება იყოს HTTPS, ხოლო გადამისამართებული URL — HTTP. აირჩიეთ აგენტი თითოეული მოთხოვნის დანიშნულების მიხედვით, ნაცვლად იმისა, რომ ერთი აგენტი პირველ URL-ს მიაბათ.

ESM აპლიკაციაში იმპორტირებული node-fetch პაკეტისთვის მიაწოდეთ ფუნქცია:

import fetch from 'node-fetch';
import { HttpProxyAgent } from 'http-proxy-agent';
import { HttpsProxyAgent } from 'https-proxy-agent';

const proxyUrl = 'http://proxy.example:8080';
const httpAgent = new HttpProxyAgent(proxyUrl);
const httpsAgent = new HttpsProxyAgent(proxyUrl);

const response = await fetch('https://api.example/', {
  agent: url => url.protocol === 'http:' ? httpAgent : httpsAgent,
});

შეცვალეთ API-ის URL და პროქსის საბოლოო წერტილი. საჯარო შუამავლის მეშვეობით დაშვებული საჯარო API-ისთვის HTTP პროქსების სია გვაწვდის კანდიდატებს proxyUrl-ისთვის. ორივე აგენტს შეუძლია გამოიყენოს ერთი და იგივე HTTP პროქსის მსმენელი; მათი სახელები დანიშნულების მოთხოვნას მიუთითებს.

სელექტორზე გადაცემული URLარჩეული აგენტი
https://…httpsAgent
http://…httpAgent

ამიტომ ფუნქცია მაინც ირჩევს შესაბამის აგენტს, თუ გადამისამართება დანიშნულების პროტოკოლს შეცვლის. proxyUrl კვლავ აღწერს შუამავალს, ამ გადაწყვეტილებისგან დამოუკიდებლად.

შექმენით აგენტები ერთხელ დატვირთვისთვის და ხელახლა გამოიყენეთ. დაამუშავეთ დაბრუნებული სტატუსი და წაიკითხეთ პასუხის სხეული გამომძახებელ კოდში. ეს აგენტის ინტერფეისი node-fetch-ს ეკუთვნის; Node-ის ჩაშენებული fetch სხვა ტრანსპორტის ინტერფეისს იყენებს.

დაკავშირებული სტატიები