استفاده از go-ieproxy برای انتخاب پراکسی به تفکیک URL در ویندوز
بهجای مسطح کردن سیاست خودکار ویندوز در مقادیر ثابت محیطی، از go-ieproxy.GetProxyFunc روی یک transport متعلق به خود استفاده کنید.
وقتی go-ieproxy از قبل در دسترس است و transport پیشفرض استاندارد هنوز نصب است، تابع پراکسی آگاه از درخواست آن را متصل کنید:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}net/http، time و github.com/mattn/go-ieproxy را وارد کنید و درخواستهای بار کاری را از طریق client انجام دهید. اظهار نوع مستلزم آن است که DefaultTransport همچنان یک http.Transport بماند.
GetProxyFunc تنظیمات ثابت، اسکریپت صریح پیکربندی خودکار و کشف کاملاً خودکار را پوشش میدهد. جستجوی ویندوزی آن از پیکربندی کاربر جاری استفاده میکند و اگر فراخوانی اولیه API شکست بخورد به رجیستری بازمیگردد.
OverrideEnvWithStaticProxy انتخاب متفاوتی میکند: تنظیمات دستی را صادر میکند و نمیتواند تصمیمهای خودکار به تفکیک مقصد را حفظ کند. از آن تبدیل فقط برای سیاستی که آگاهانه ثابت است استفاده کنید.
برای یک سرویس ویندوز، کاربر جاری میتواند با کاربر دسکتاپی که مرورگرش کار میکند متفاوت باشد. هنگام مقایسه نتیجه، حساب سرویس و مقصد واقعی را بررسی کنید. کشف یک نامزد مسیر ارائه میدهد، نه احراز هویت یا تضمینی بر قابل دسترس بودن نقطه پایانی.