یک اسکریپت PAC ویندوز می‌تواند پروکسی را بر اساس مقصد انتخاب کند. برای دانلودی که با بسته curl در R انجام می‌شود، پیش از ساختن handle انتقال، از کمک‌کننده ویندوزی آن مسیر آن URL را بپرسید:

url <- "https://example.com/data.csv"
route <- curl::ie_get_proxy_for_url(url)
if (is.null(route)) route <- ""

handle <- curl::new_handle(proxy = route)
connection <- curl::curl(url, handle = handle)

اتصال را از طریق چرخه عمر معمول اتصال‌های برنامه بخوانید و ببندید. قطعه کد مسیر را برای همان handle curl تعیین می‌کند؛ همه بسته‌های شبکه در فرایند R را پیکربندی نمی‌کند.

کمک‌کننده پیکربندی فعلی پروکسی ویندوز را می‌خواند. وقتی پیکربندی خودکار فعال است، ارزیابی می‌تواند شامل دانلود و اجرای اسکریپت PAC باشد، بنابراین خود جست‌وجو ممکن است زمان ببرد. از URL هدف واقعی استفاده کنید، نه یک سایت آزمایشی بی‌ربط و راحت.

کمک‌کننده وقتی هیچ پروکسی انتخاب نشده باشد NULL برمی‌گرداند. رشته خالی صریح پروکسی در مثال به libcurl می‌گوید این انتقال را مستقیم انجام دهد، به‌جای بازگشت به متغیر محیطی پروکسی که در نشست باقی مانده است.

URL فایل PAC همان نقطه پایانی پروکسی حاصل نیست. ارسال آن URL اسکریپت به‌عنوان مقدار پروکسی handle از libcurl نمی‌خواهد اسکریپت را ارزیابی کند.

این جست‌وجو یک پروکسی انتخاب‌شده برمی‌گرداند، نه یک موتور کامل جایگزینی معادل مرورگر برای همه نامزدهای PAC. همچنین اعتبارنامه احراز هویت ارائه نمی‌دهد. رسیدگی را محلی نزد کلاینت ویندوز و انتقال curl نگه دارید که واقعاً به این سیاست نیاز دارند.

مقالات مرتبط