בחירת סכימת האימות בהגדרת ה-proxy של httr
ספקו את חשבון ה-proxy ובחירה מפורשת של Basic או NTLM דרך עוזר use_proxy של httr כאשר בקשה מקבלת 407.
עוזר use_proxy של httr מקבל יחד את חשבון ה-proxy ואת סכימת האימות. בקריאת 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 רק כאשר ה-proxy מציע את הסכימה הזו ובניית libcurl המותקנת תומכת בה. אם ההחלפה עדיין נכשלת, אבחון ה-proxy של NTLM ב-curl מסביר את האתגר, את תמיכת הבנייה ואת בדיקות רציפות החיבור. עבור proxy שמצפה ל-Basic בחרו auth = 'basic'. Basic הוא ברירת המחדל של use_proxy; מסירת שם משתמש בסגנון Windows בלבד אינה בוחרת NTLM.
העוזר ממפה את הערכים האלה לאפשרויות proxyuserpwd, proxyport ו-proxyauth של libcurl. הארגומנט port חייב להיות מספרי.
407 נוגע להתחברות ל-proxy. לחשבון שנמסר ל-API דרך httr::authenticate או דרך כותרת Authorization של היישום יש נמען אחר.
שמרו את נקודת הקצה האמיתית של ה-proxy ואת האתגר המוצהר יחד עם דוח השגיאה, בלי סודות. חשבון שגוי, סכימה שגויה ושיטת אימות לא נתמכת דורשים תיקונים שונים; שינוי אימות התעודה אינו בוחר ביניהם.