Gadewch i node-fetch ddewis yr asiant procsi ar ôl ailgyfeirio
Defnyddiwch ffwythiant asiant ar gyfer cyrchfannau HTTP a HTTPS fel y gall ailgyfeiriad ddewis yr asiant procsi cywir.
Gall yr URL gyntaf fod yn HTTPS a'r URL a ailgyfeiriwyd yn HTTP. Dewiswch yr asiant ar gyfer cyrchfan pob cais, yn hytrach na chadw un asiant ynghlwm wrth yr URL gyntaf.
Ar gyfer y pecyn node-fetch a fewnforiwyd mewn cymhwysiad ESM, rhowch ffwythiant:
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,
});Amnewidiwch URL yr API a diweddbwynt y procsi. Ar gyfer API cyhoeddus a ganiateir trwy gyfryngwr cyhoeddus, mae'r rhestr procsi HTTP yn darparu ymgeiswyr ar gyfer proxyUrl. Gall y ddau asiant ddefnyddio'r un gwrandäwr procsi HTTP; mae eu henwau'n cyfeirio at y cais i'r gyrchfan.
| URL a basiwyd i'r detholwr | Yr asiant a ddewiswyd |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Felly mae'r ffwythiant yn dal i ddewis yr asiant cyfatebol os yw ailgyfeiriad yn newid protocol y gyrchfan. Mae proxyUrl yn parhau i ddisgrifio'r cyfryngwr, yn annibynnol ar y penderfyniad hwnnw.
Crëwch yr asiantiaid unwaith ar gyfer y llwyth gwaith a'u hailddefnyddio. Trinwch y statws a ddychwelwyd a defnyddiwch gorff yr ymateb yn y cod sy'n galw. Mae'r rhyngwyneb asiant hwn yn perthyn i node-fetch; mae fetch adeiledig Node yn defnyddio rhyngwyneb cludiant gwahanol.