Node-un HTTPS müştərisi ilə SOCKS agentindən istifadə edin
socks-proxy-agent-ı Node-un əsas HTTPS sorğusuna qoşun və Node agenti ilə fetch dispatcher arasındakı fərqi qoruyun.
SOCKS dəstəyi olan agent Node-un əsas HTTPS müştərisi üçün təyinat bağlantısını qura bilər. Tətbiqdə socks-proxy-agent mövcuddursa:
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);
Nümunədəki son nöqtəni bu ictimai HTTPS sorğusu üçün SOCKS5 proxy siyahısından autentifikasiyasız namizədlə əvəz edin. Geri çağırış statusu çap etdikdən sonra cavabı boşaldır; tətbiqə lazımdırsa, gövdəni orada istehlak edin. Agentı təyin edilmiş əməliyyatları üçün yenidən istifadə edin, sonra həmin müştəri siyasəti ləğv edildikdə və işi bitdikdə onu məhv edin.
Təyinat adının harada həll olunduğunu seçin
socks-proxy-agent-ın URL emalında socks5h təyinat host adının həllini proxy yoluna buraxır; socks5 isə yerli olaraq həll edir. Ad yalnız proxy şəbəkəsində mövcud olduqda bu vacibdir.
HTTPS URL vebsaytın kimliyini saxlayır. Agent Node həmin vebsayta TLS başlatmadan əvvəl SOCKS danışıqlarını həyata keçirir.
İstifadəçi adı/parol xidməti üçün etimadnamələri qorunan simvollar üçün URI-komponent kodlaşdırması ilə proxy URL-inə yerləşdirin. Tam URL-i loglardan kənarda saxlayın. Təyinat Authorization başlıqları vebsaytın hesabına aiddir.
Bu agent Node-un əsas HTTP/HTTPS sorğu API-ləri ilə işləyir. Node-un fetch-i dispatcher interfeysindən istifadə edir, ona görə də həmin müştərinin dəstəklənən SOCKS inteqrasiyasını ayrıca konfiqurasiya edin.