אבחון פרוקסי ב-R: גרסת libcurl, עורפית TLS ופרוטוקולים
בדקו את הגרסה, מימוש ה-TLS ומאפייני הפרוטוקול של ה-libcurl המקושר ל-R בנפרד מקובץ ההרצה curl החיצוני.
ה-R המותקן בסביבת Conda עשוי להשתמש בבנייה אחרת של libcurl מזו של קובץ ההרצה curl במסוף. שאלו את הפעלת ה-R שנכשלת איזו ספרייה יש לה בפועל:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
ערך התווים מדווח על גרסת ה-libcurl המקושר. המאפיין ssl_version שלו מזהה את מימוש ה-TLS, בעוד protocols מפרט את פרוטוקולי היעד שהספרייה הזו תומכת בהם. אלה מתארים את נתיב ה-libcurl המובנה של R, ולא פקודת shell בשם curl.
התאימו את הדוח לשיטת ההורדה
download.file עם method='libcurl' משתמש בספרייה הזו. method='curl' מפעיל את קובץ ההרצה החיצוני. הבחירה האוטומטית הנוכחית של HTTP(S) משתמשת ב-libcurl, ואפשרות download.file.method עם הערך NULL יכולה להשאיר את ברירת המחדל הזו בתוקף.
הריצו את הבדיקה בסביבה בפועל שנבחרת על ידי המשימה או ה-IDE. התקנת R אחרת עשויה לדווח על גרסה או עורפית TLS אחרת גם כשהסקריפטים שלה נראים זהים.
פרוטוקול https שמופיע ברשימה פירושו שיעדי HTTPS נתמכים. זה אינו מוכיח שמאזין פרוקסי מסוים מקבל TLS. לפרוקסי HTTP רגיל להורדת HTTPS עדיין יש כתובת URL של פרוקסי עם http://.
שמרו את דוח הספרייה לצד השיטה שנבחרה ושגיאת החיבור. כשל בתעודה, סכימת פרוקסי לא נתמכת ומאזין שנדחה נשארים ממצאים שונים; מספר גרסה לבדו אינו האבחון שלהם.