Το Apache HttpClient γνωρίζει τον κωδικό αλλά εξακολουθεί να παίρνει 407
Ταιριάξτε τα διαπιστευτήρια proxy του Apache HttpClient με την πραγματική διαδρομή proxy και ξεχωρίστε μια πρόκληση ταυτοποίησης από μια αποτυχημένη σύνδεση.
Ένας σωστός κωδικός στον πάροχο δεν δημιουργεί αντίστοιχο διαπιστευτήριο για το proxy που επιλέχθηκε πραγματικά. Ξεκινήστε από το σχήμα, τον κεντρικό υπολογιστή και τη θύρα αυτού του τελικού σημείου· ένα πεδίο host συνήθως δέχεται μόνο όνομα host ή IP, όχι πλήρες URL.
- Διαβάστε ολόκληρη την ανταλλαγή ταυτοποίησης. Ένα 407 που ακολουθείται από αποδεκτή επανάληψη μπορεί να είναι φυσιολογικό. Βεβαιωθείτε ότι το τελικό αποτέλεσμα είναι ακόμη 407 πριν θεωρήσετε τη σύνδεση απορριφθείσα.
- Συγκρίνετε διαδρομή και εύρος διαπιστευτηρίων. Ταιριάξτε τον πραγματικό host/port και τα άλλα πεδία που ορίζει το αναπτυγμένο HttpClient 5 AuthScope. Μια λάθος θύρα μπορεί να αφήσει το BasicCredentialsProvider χωρίς κατάλληλη καταχώριση.
- Ελέγξτε μέθοδο και ταυτότητα. Πρόσφερε το proxy την υποστηριζόμενη μέθοδο; Χρησιμοποίησε η επανάληψη την αναμενόμενη σύνδεση; Απαιτεί ο φορέας λογαριασμό με προσόν τομέα ή άλλη τεκμηριωμένη μορφή;
Χρησιμοποιήστε το API της εγκατεστημένης κύριας έκδοσης. Μια συνταγή κρυφής μνήμης ταυτοποίησης του HttpClient 4 δεν μεταφέρεται αμετάβλητη στην έκδοση 5. Χρησιμοποιήστε τις απαιτήσεις λογαριασμού του φορέα αντί να δοκιμάζετε αυθαίρετες παραλλαγές ονόματος χρήστη.
Η προληπτική ταυτοποίηση είναι άλλη μια συνειδητή επιλογή. Για συμβατό σχήμα μπορεί να αφαιρέσει έναν γύρο, αλλά αλλάζει πότε φεύγουν τα διαπιστευτήρια και χρειάζεται υποστηριζόμενο εύρος. Δεν μπορεί να είναι η πρώτη διόρθωση για ασύμβατο τελικό σημείο ή μη υποστηριζόμενη μέθοδο.
Κρατήστε τη διεκδικούμενη ταυτότητα proxy, τη μέθοδο, την αντιστοίχιση εύρους και την τελική κατάσταση σε επεξεργασμένα διαγνωστικά. Ο κωδικός και τα ακατέργαστα ίχνη που φέρουν διαπιστευτήρια δεν χρειάζονται για αυτή τη σύγκριση.