Το java.net.PasswordAuthentication δέχεται ένα όνομα χρήστη και έναν πίνακα χαρακτήρων κωδικού. Περάστε τους αρχικούς χαρακτήρες του κωδικού:

var credential = new java.net.PasswordAuthentication(
    "proxy-user", "p@ssword".toCharArray());

Η τιμή είναι ένας ενδεικτικός κωδικός. Στον κώδικα της εφαρμογής, λάβετε τους πραγματικούς χαρακτήρες από την προβλεπόμενη πηγή διαπιστευτηρίων.

Ένα @ μέσα σε αυτόν τον κωδικό είναι δεδομένο, επειδή ο κωδικός έχει ήδη το δικό του όρισμα. Η μετατροπή του σε p%40ssword πριν από τον κατασκευαστή παρέχει διαφορετικό κωδικό.

Ένα URL μεσολάβησης έχει άλλη αναπαράσταση διαπιστευτηρίων. Σε ένα URL όπως http://proxy-user:p%[email protected]:8080, το κωδικοποιημένο @ ανήκει στις πληροφορίες χρήστη, ενώ το επόμενο @ διαχωρίζει αυτές τις πληροφορίες από τον κεντρικό υπολογιστή. Αποκωδικοποιήστε και κωδικοποιήστε σύμφωνα με τη διεπαφή που καταναλώνει πραγματικά την τιμή.

Η παράθεση στο κέλυφος, η διαφυγή συμβολοσειρών Java και η ποσοστιαία κωδικοποίηση URL λύνουν επίσης διαφορετικά προβλήματα ανάλυσης. Προσδιορίστε ποιο επίπεδο διαβάζει την είσοδο αντί να κωδικοποιείτε επανειλημμένα τα διαπιστευτήρια μέχρι να αλλάξει η συμπεριφορά ενός αιτήματος.

Σχετικά άρθρα