پروکسیهای SOCKS در .NET HttpClient: طرحهای URI پشتیبانیشده
بهجای فرض اینکه دستورهای قدیمی شخص ثالث هنوز لازماند، از طرحهای URI مستند پروکسی SOCKS یک هندلر HTTP .NET سازگار استفاده کنید.
پاسخهای قدیمی یک هندلر SOCKS اضافی را توصیه میکنند زیرا پشته شبکه .NET قدیمیتری را هدف میگیرند. یک پشته HTTP .NET مدرن و پشتیبانیشده میتواند از طرحهای URI مستند پروکسی SOCKS استفاده کند.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);نقطه پایانی فقط برای نمونه است. فهرست پروکسی SOCKS5 نامزدهای عمومی را برای این URI socks5 در WebProxy فراهم میکند؛ از نسخهای استفاده کنید که هندلر واقعی پشتیبانی میکند. پیش از اعمال این مثال روی یک فرایند قدیمی .NET Framework، چارچوب هدف، زمان اجرا، پلتفرم و هندلر واقعی مورد استفاده برنامه را بررسی کنید.
مستندات کنونی پروکسی مایکروسافت socks4، socks4a و socks5 را فهرست میکند. این نامها رفتار پروتکل را توصیف میکنند. شماره پورت بهتنهایی نسخه SOCKS را انتخاب نمیکند و املای socks5h در curl یک طرح URI جهانی نیست که هر کلاینتی بپذیرد.
برای یک سرویس SOCKS5 احراز هویتشده، اعتبارنامهها را مطابق رابط پشتیبانیشده هندلر پیکربندی کنید. SOCKS4 و SOCKS4a مکانیسم احراز هویت با گذرواژه یکسانی ارائه نمیکنند.
URL مقصد بدون تغییر میماند. یک درخواست HTTPS هنوز TLS مقصد را از طریق مسیر پروکسی برقرار و تأیید میکند؛ افزودن SOCKS دلیلی برای غیرفعال کردن آن تأیید نیست.