از یک عامل SOCKS با کلاینت HTTPS نود استفاده کنید
socks-proxy-agent را به یک درخواست HTTPS هستهای نود متصل کنید و تمایز میان عامل نود و توزیعکننده fetch را حفظ کنید.
یک عامل با پشتیبانی SOCKS میتواند اتصال مقصد را برای کلاینت HTTPS هسته نود برقرار کند. وقتی socks-proxy-agent در برنامه موجود است:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
نقطهپایان نمونه را با یک نامزد احرازنشده از فهرست پروکسی SOCKS5 برای این درخواست عمومی HTTPS جایگزین کنید. تابع بازگشتی پس از چاپ وضعیت، پاسخ را تخلیه میکند؛ اگر برنامه به بدنه نیاز دارد آن را همانجا مصرف کنید. عامل را برای عملیات تخصیصیافتهاش دوباره استفاده کنید و سپس هنگامی که آن سیاست کلاینت کنار گذاشته شد و کارش تمام شد، آن را نابود کنید.
انتخاب کنید نام مقصد کجا حل شود
در پردازش URL توسط socks-proxy-agent، socks5h حل نام میزبان مقصد را به مسیر پروکسی میسپارد؛ socks5 آن را بهصورت محلی حل میکند. این زمانی مهم است که نام فقط در شبکه پروکسی در دسترس باشد.
نشانی HTTPS هویت وبسایت را حفظ میکند. عامل پیش از آنکه نود TLS را به آن وبسایت آغاز کند، مذاکره SOCKS را انجام میدهد.
برای سرویسی با نام کاربری/گذرواژه، اعتبارنامهها را با استفاده از کدگذاری مؤلفه URI برای نویسههای رزروشده در URL پروکسی قرار دهید. URL کامل را از گزارشها دور نگه دارید. سرصفحههای Authorization مقصد متعلق به حساب وبسایت است.
این عامل با APIهای درخواست HTTP/HTTPS هسته نود کار میکند. fetch نود از رابط توزیعکننده استفاده میکند، بنابراین یکپارچهسازی SOCKS پشتیبانیشده آن کلاینت را جداگانه پیکربندی کنید.