ביי אַ געוויינטלעכער HTTP־בקשה דורך אַ פֿאָרויס־פּראָקסי פֿאַרבינדט זיך Node מיטן פּראָקסי און שיקט די ציל־URL אין דער בקשה־שורה. דרײַ ווערטן באַשרײַבן די איין בקשה:

ווערטבייַשפּיל
TCP־פֿאַרבינדונג־ענדפּונקטproxy.example:8080
בקשה־צילhttp://example.com/news?q=proxy
Host־קעפּלexample.com

דער Node 22־בייַשפּיל מאַכט די צעטיילונג קלאָר:

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);

דער ענדפּונקט איז אַ פּלאַץ־האַלטער; קלײַבט אַ קאַנדידאַט פֿון דער HTTP־פּראָקסי־ליסטע פֿאַר אַ פּובליק HTTP־פּרובירונג און פּרוּווט די ענטפֿער. דער בייַשפּיל ליידיקט די ענטפֿער נאָך דעם דרוקן דעם סטאַטוס; אַ פּראָגראַם קען נוצן דעם קערפּער אַנשטאָט. די אָנפֿרעג בלייבט אַ טייל פֿונעם בקשה־ציל.

פֿאַרוואָס די פֿולע URL געהערט אַהין

אַן אָריגינעל־סערווער באַקומט געוויינטלעך אַ ציל ווי /news?q=proxy. אַ פֿאָרויס־פּראָקסי דאַרף אויך דעם ציל, דערפֿאַר דעפֿינירט HTTP/1.1 דעם ציל אין אַבסאָלוטער פֿאָרעם:

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

לויט די HTTP/1.1־כּללים נוצט אַ פּראָקסי וואָס באַקומט די אַבסאָלוטע פֿאָרעם דעם אויטאָריטעט פֿונעם URI ביים ווײַטערשיקן און פֿאַרביטן אַן אומקאָנסיסטענט באַקומענע Host־פֿעלד. שיקן אַ קאָנסיסטענטן ציל־Host־קעפּל האַלט די אַרויסגייענדיקע בקשה פֿאַרטאָג איינדייטיק. דער פֿאַרבינדונג־האָסטנאָמען פֿון Node איז דער מיטלער, דערפֿאַר שטעלט דעם קעפּל מיט אַ כּוונה אַנשטאָט זיך פֿאַרלאָזן אויף דער פֿאַרבינדונג־אַדרעס.

אויב מען דאַרף אויטענטיפֿיקאַציע, געהערן די פּראָקסי־באַשײַנדיקער צו איר אייגענעם שפּרונג. די Node־בקשה־אָפּציע auth שאַפֿט אַ Authorization־קעפּל פֿאַר דער רעסורסע; דאָס איז נישט קיין אַלגעמיינע פּראָקסי־אַרײַנלאָגירונג־אָפּציע. ניצט דעם סכימה וואָס דער פּראָקסי פֿאָדערט און אַ פּאַסיקן פּראָקסי־קליענט ווען דער אויסטויש איז מער פֿאַרצויגן.

HTTPS לייגט צו אַ טונעל

דער בייַשפּיל דעקט פּשוטע HTTP־ווײַטערשיקונג. אַ טיפּישע HTTPS־פֿאַרבינדונג דורך אַ HTTP־פּראָקסי בעט ערשט CONNECT example.com:443, און דערנאָך הייבט אָן TLS צום ציל אין דעם אָנגענומענעם טונעל. פֿאַרבייטן די בייַשפּיל־URL אויף HTTPS לייגט נישט צו די שלבֿים.

פֿאַר HTTPS אָדער אַ געמישטער באַלאַסט, ניצט אַ געהאַלטענעם פּראָקסי־אַגענט אָדער דיספּעטשער מיט דער נויטיקער טונעל־שטיצע. פֿאַר פּאַסיקע Node־ווערסיעס איז איין אָפּציע Undici־ס fetch מיט אַ ProxyAgent. האַלט דעם קליינעם קערן־קליענט־בייַשפּיל פֿאַר פֿעלער וואָס דער פּשוטער HTTP־אויסטויש אַליין איז דאָס וואָס מען דאַרף קאָנטראָלירן אָדער פֿאַרשטיין.

פֿאַרבונדענע אַרטיקלען