انتخاب طرح احراز هویت در پیکربندی پروکسی httr
هنگامی که درخواست 407 دریافت میکند، حساب پروکسی و انتخاب صریح Basic یا NTLM را از طریق تابع کمکی use_proxy در httr تأمین کنید.
تابع کمکی use_proxy در httr حساب پروکسی و طرح احراز هویت را با هم میگیرد. برای فراخوانی سطح بالاتر httr میتوان همان پیکربندی را پیرامون یک عبارت انتخابشده اعمال کرد:
route <- httr::use_proxy(
'proxy.example',
port = 8080,
username = Sys.getenv('PROXY_USER'),
password = Sys.getenv('PROXY_PASSWORD'),
auth = 'ntlm'
)
response <- httr::GET('https://api.example/items', route)
از ntlm تنها زمانی استفاده کنید که پروکسی آن طرح را ارائه میدهد و ساخت نصبشدهٔ libcurl از آن پشتیبانی میکند. اگر تبادل هنوز شکست بخورد، عیبیابی پروکسی NTLM در curl چالش، پشتیبانی ساخت و بررسیهای پیوستگی اتصال را توضیح میدهد. برای پروکسی که انتظار Basic دارد، auth = 'basic' را انتخاب کنید. Basic پیشفرض use_proxy است؛ صرفاً ارائهٔ نام کاربری به سبک Windows باعث انتخاب NTLM نمیشود.
این تابع کمکی این مقادیر را به گزینههای proxyuserpwd، proxyport و proxyauth در libcurl نگاشت میکند. آرگومان port باید عددی باشد.
کد 407 به ورود پروکسی مربوط است. حسابی که برای API از طریق httr::authenticate یا سرصفحهٔ Authorization برنامه تأمین میشود گیرندهٔ دیگری دارد.
نقطهٔ پایانی واقعی پروکسی و چالش اعلامشده را بدون اسرار در گزارش خطا نگه دارید. حساب اشتباه، طرح اشتباه و روش احراز هویت پشتیبانینشده اصلاحهای متفاوتی میخواهند؛ تغییر بررسی گواهی میان آنها انتخاب نمیکند.