Got তার HTTP ও HTTPS কী দিয়ে SOCKS এজেন্ট বেছে নেয়
Got-এর গন্তব্য-প্রোটোকল এজেন্ট এন্ট্রিগুলোতে SocksProxyAgent বসান এবং HTTP/2 পথটি আলাদা রাখুন।
Got-এর agent অবজেক্টটি গন্তব্য প্রোটোকল দিয়ে কী করা হয়। তাই একটি HTTPS URL-এর জন্য SOCKS সংযোগ socks নামের নতুন কী-এর বদলে https-এর অধীনে পড়ে।
HTTP/1 পথে Got ও socks-proxy-agent ব্যবহার করা একটি বিদ্যমান ESM অ্যাপ্লিকেশনের জন্য:
import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
http2: false,
agent: {
http: agent,
https: agent,
},
timeout: {request: 20000},
}).text();
SOCKS5 প্রক্সি তালিকা উদাহরণের অ্যাকাউন্টহীন প্রক্সি URL-এর জন্য প্রার্থী দেয়। একই এজেন্ট দেখানো HTTP ও HTTPS এন্ট্রি দুটিই সামলাতে পারে। এটি SOCKS সংযোগ স্থাপন করে, তারপর HTTPS পথটি গন্তব্যের সাথে TLS হ্যান্ডশেক সম্পন্ন করে।
এই এজেন্টে socks5h গন্তব্য হোস্টনেম রিজলিউশন SOCKS প্রক্সির কাছে ছেড়ে দেয়। socks5 এর বদলে স্থানীয় রিজলিউশন বেছে নেয়। প্রক্সির নিজের হোস্টনেম এখনও Node প্রসেস থেকে পৌঁছানোযোগ্য হতে হবে।
Got-এর HTTP/2 এজেন্ট স্লট ভিন্ন ইন্টারফেস প্রত্যাশা করে। এই এজেন্টটি agent.http2-এ কপি করে ধরে নেবেন না যে এটি HTTP/2 প্রক্সি সমর্থন দেয়।
ওয়ার্কলোডের জন্য কনফিগার করা এজেন্টটি পুনরায় ব্যবহার করুন এবং এর মালিক বন্ধ হলে এটি ধ্বংস করুন। প্যাকেজ সংস্করণ অ্যাপ্লিকেশনের Node রানটাইমের সাথে মিলিয়ে নিন; এই উদাহরণটি নামযুক্ত SocksProxyAgent এক্সপোর্ট ব্যবহার করে।