Επιλέξτε το σχήμα ελέγχου ταυτότητας στη διαμόρφωση διαμεσολαβητή του httr
Δώστε τον λογαριασμό του διαμεσολαβητή και ρητή επιλογή Basic ή NTLM μέσω του βοηθού use_proxy του httr όταν ένα αίτημα λαμβάνει 407.
Ο βοηθός 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 της εφαρμογής έχει διαφορετικό παραλήπτη.
Κρατήστε το πραγματικό τελικό σημείο του διαμεσολαβητή και την ανακοινωμένη πρόκληση μαζί με την αναφορά σφάλματος, χωρίς μυστικά. Λάθος λογαριασμός, λάθος σχήμα και μη υποστηριζόμενη μέθοδος ελέγχου ταυτότητας απαιτούν διαφορετικές διορθώσεις· η αλλαγή της επαλήθευσης πιστοποιητικού δεν επιλέγει μεταξύ τους.