Διάγνωση διαμεσολαβητή στο R: έκδοση libcurl, backend TLS και πρωτόκολλα
Ελέγξτε την έκδοση, την υλοποίηση TLS και τα χαρακτηριστικά πρωτοκόλλου της συνδεδεμένης με το R libcurl ξεχωριστά από ένα εξωτερικό εκτελέσιμο curl.
Το R που είναι εγκατεστημένο σε περιβάλλον Conda μπορεί να χρησιμοποιεί διαφορετικό build της 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 μπορεί να αναφέρει άλλη έκδοση ή άλλο backend TLS ακόμη και όταν τα σενάριά της φαίνονται ίδια.
Ένα καταγεγραμμένο πρωτόκολλο https σημαίνει ότι υποστηρίζονται προορισμοί HTTPS. Δεν αποδεικνύει ότι ένας συγκεκριμένος ακροατής διαμεσολαβητή δέχεται TLS. Ένας συνηθισμένος διαμεσολαβητής HTTP για λήψη HTTPS έχει ακόμη διεύθυνση URL διαμεσολαβητή με http://.
Κρατήστε την αναφορά της βιβλιοθήκης μαζί με τη μέθοδο που επιλέξατε και το σφάλμα σύνδεσης. Η αποτυχία πιστοποιητικού, το μη υποστηριζόμενο σχήμα διαμεσολαβητή και ο απορριφθείς ακροατής παραμένουν διαφορετικά ευρήματα· ένας αριθμός έκδοσης από μόνος του δεν είναι η διάγνωσή τους.