Við venjulega HTTP-beiðni í gegnum framsenda proxy tengist Node proxynu og sendir áfangastaðar-URL í beiðnilínunni. Þrjú gildi lýsa þessari einu beiðni:

GildiDæmi
TCP-tengiendapunkturproxy.example:8080
Mark beiðninnarhttp://example.com/news?q=proxy
Host-hausexample.com

Þetta Node 22 dæmi gerir aðskilnaðinn skýran:

const http = require('node:http');
const destination = new URL('http://example.com/news?q=proxy');

const request = http.get({
  hostname: 'proxy.example',
  port: 8080,
  path: destination.href,
  headers: { Host: destination.host },
  signal: AbortSignal.timeout(15000),
}, (response) => {
  console.log(response.statusCode);
  response.on('error', console.error);
  response.resume();
});
request.on('error', console.error);

Endapunkturinn er staðgengill; veldu frambjóðanda úr HTTP-proxylistanum fyrir opinbera HTTP-prófun og athugaðu svar hans. Dæmið tæmir svarið eftir að hafa prentað stöðuna; forrit getur neytt líkamans í staðinn. Fyrirspurnin er áfram hluti af marki beiðninnar.

Hvers vegna fulla URL-ið á heima þar

Upprunamiðlari fær venjulega mark eins og /news?q=proxy. Framsenda proxy þarf líka áfangastaðinn, þess vegna skilgreinir HTTP/1.1 markið í algildu formi:

GET http://example.com/news?q=proxy HTTP/1.1
Host: example.com

Samkvæmt reglum HTTP/1.1 notar proxy sem tekur við algildu formi vald URIsins við framsendingu og skiptir út ósamkvæmu Host-sviði sem barst. Að senda samkvæman áfangastaðar-Host-haus heldur útbeiðninni samt ótvíræðri. Tengihýslisnafn Node er milliliðurinn, svo stilltu hausinn viljandi í stað þess að treysta á það tengislóð.

Ef auðkenningar er krafist tilheyra skilríki proxysins hoppinu hans. Beiðnivalkostur Nodes auth býr til Authorization-haus fyrir auðlindina; hann er ekki almennur innskráningarkostur proxys. Notaðu skemað sem proxsið krefst og viðeigandi proxybiðlara þegar skiptin eru flóknari.

HTTPS bætir við gangi

Þetta dæmi nær yfir venjulega HTTP-framsendingu. Dæmigert HTTPS-tenging í gegnum HTTP-proxy biður fyrst um CONNECT example.com:443 og hefur þá TLS til áfangastaðarins inni í samþykktum ganginum. Að breyta URL dæmisins í HTTPS bætir ekki þeim þrepum við.

Fyrir HTTPS eða blandaða vinnslu skaltu nota viðhaldið proxyumboð eða sendingaraðila með nauðsynlegum gangstuðningi. Fyrir samhæfar Node-útgáfur er einn valkostur fetch Undici með ProxyAgent. Haltu þessu litla kjarnabiðlaradæmi fyrir tilvik þar sem venjulegu HTTP-skiptin sjálf eru það sem þú þarft að stýra eða skilja.

Tengdir greinar