Node HTTP proxy හරහා යොමු කරන ඉල්ලීම් පේළිය
සම්බන්ධතා අන්ත ලක්ෂ්යය, නිරපේක්ෂ ඉලක්කය සහ Host ශීර්ෂය වෙන් කරමින් Node හි මූලික සේවාදායකය සමඟ සරල HTTP proxy ඉල්ලීමක් සාදන්න.
ඉදිරි proxy හරහා යන සාමාන්ය HTTP ඉල්ලීමකදී Node proxy වෙත සම්බන්ධ වී ගමනාන්ත 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 proxy ලැයිස්තුවවෙන් අපේක්ෂකයෙකු තෝරා එහි ප්රතිචාරය පරීක්ෂා කරන්න. උදාහරණය තත්ත්වය මුද්රණය කිරීමෙන් පසු ප්රතිචාරය ඉවත් කරයි; යෙදුමකට ඒ වෙනුවට පණිවිඩ බඳ භාවිත කළ හැක. විමසුම ඉල්ලීම් ඉලක්කයේ කොටසක් ලෙසම පවතී.
සම්පූර්ණ URL එහි තිබිය යුත්තේ ඇයි
මූල සේවාදායකයකට සාමාන්යයෙන් /news?q=proxy වැනි ඉලක්කයක් ලැබේ. ඉදිරි proxy ට ද ගමනාන්තය අවශ්ය වන බැවින් HTTP/1.1 ඉලක්කය නිරපේක්ෂ ආකාරයෙන් නිර්වචනය කරයි:
GET http://example.com/news?q=proxy HTTP/1.1
Host: example.com
HTTP/1.1 නීති අනුව, නිරපේක්ෂ ආකාරය ලබන proxy යොමු කිරීමේදී URI හි අධිකාරිය භාවිත කර අසමගි ලෙස ලැබුණු Host ක්ෂේත්රය ප්රතිස්ථාපනය කරයි. සමගි ගමනාන්ත Host ශීර්ෂය යැවීම පිටතට යන ඉල්ලීම තවමත් අපැහැදිලි නොවී තබයි. Node හි සම්බන්ධතා සත්කාරක නාමය මැදිහත්කරු බැවින් එම සම්බන්ධතා ලිපිනය මත රඳා නොසිට ශීර්ෂය අරමුණින් සකසන්න.
සත්යාපනය අවශ්ය නම් proxy හි අක්තපත්ර එහි ම hop ට අයත් වේ. Node හි auth ඉල්ලීම් විකල්පය සම්පත් සඳහා Authorization ශීර්ෂයක් සාදයි; එය සාමාන්ය proxy පිවිසුම් විකල්පයක් නොවේ. හුවමාරුව වඩාත් සංකීර්ණ වූ විට proxy ඉල්ලන ක්රමය සහ සුදුසු proxy සේවාදායකය භාවිත කරන්න.
HTTPS උමං මාර්ගයක් එකතු කරයි
මෙම උදාහරණය සරල HTTP යොමු කිරීම ආවරණය කරයි. සාමාන්ය HTTP proxy හරහා HTTPS සම්බන්ධතාවයක් පළමුව CONNECT example.com:443 ඉල්ලා පසුව පිළිගත් උමං මාර්ගය තුළ ගමනාන්තයට TLS ආරම්භ කරයි. උදාහරණයේ URL HTTPS බවට වෙනස් කිරීම එම පියවර එකතු නොකරයි.
HTTPS හෝ මිශ්ර භාරයක් සඳහා අවශ්ය උමං සහාය සහිත නඩත්තු කරන proxy නියෝජිතයක් හෝ යවන්නෙකු භාවිත කරන්න. ගැළපෙන Node අනුවාද සඳහා එක් විකල්පයක් වන්නේ ProxyAgent සමඟ Undici හි fetch ය. සරල HTTP හුවමාරුවම ඔබට පාලනය කිරීමට හෝ තේරුම් ගැනීමට අවශ්ය වූ විට මෙම කුඩා මූලික සේවාදායක උදාහරණය තබා ගන්න.