اعتبارنامههای صریح برای WebProxy در .NET
هنگام ساخت WebProxy در .NET، اعتبارنامهها را صریح تخصیص دهید، نه اینکه فرض کنید URI حاوی اعتبارنامه حساب آن را پر میکند.
یک URI میتواند پیش از میزبان خود username:password داشته باشد. این به معنای آن نیست که هر API .NET که آن URI را میپذیرد، اطلاعات کاربر را در یک شیء احراز هویت کپی میکند.
هنگام ساخت مستقیم WebProxy، تخصیص اعتبارنامه را صریح کنید:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};متغیرهای نقطه پایانی و حساب نمونهای هستند. این کار نشانی مقصد، نشانی پروکسی و حساب پروکسی را جدا نگه میدارد.
اگر قالب ورودی نشانی URL دارای اعتبارنامه بدهد، اطلاعات کاربر آن را آگاهانه تجزیه کنید. گذرواژهای که شامل دونقطه است را با تقسیم فقط در جداکننده اعتبارنامه حفظ کنید و اجزای رمزگذاریشده را در مرحله مناسب رمزگشایی کنید. هنگام عیبیابی آن تجزیهگر از چاپ نشانی URL اصلی بپرهیزید.
نشانی پروکسی که بهعنوان تنظیم محیط کار میکند، ممکن است هنگام سپردن به سازنده دیگری رفتار متفاوتی داشته باشد. مقداردهی اولیه پروکسی محیط منطق تجزیه خود را دارد؛ تضمینی نیست که هر سازنده همان فیلدها را مصرف کند.
در پایان، شیء پروکسی پیکربندیشده را روی گردانندهای قرار دهید که درخواست را اجرا میکند. اعتبارنامه درست روی WebProxy استفادهنشده نمیتواند بر اتصال اثر بگذارد.