Μετατροπή ονόματος κεντρικού υπολογιστή διαμεσολαβητή σε IDNA ASCII στο PowerShell
Μετατρέψτε ένα διεθνοποιημένο όνομα τομέα στη μορφή IDNA ASCII όταν ο χρήστης ενός τελικού σημείου διαμεσολαβητή δεν μπορεί να επιλύσει το όνομα κεντρικού υπολογιστή Unicode.
Ένα όνομα κεντρικού υπολογιστή διαμεσολαβητή μπορεί να περιέχει διεθνείς χαρακτήρες στην εμφανιζόμενη μορφή του. Ένας πελάτης ή επιλυτής που περιμένει τη μορφή IDNA ASCII χρειάζεται αυτό το όνομα μετατρεπόμενο, όχι ένα αυθαίρετο ποσοστιαία διαφυγμένο αντίγραφο ολόκληρου του URL.
Στο PowerShell, το .NET εκθέτει τη μετατροπή άμεσα:
$mapping = New-Object System.Globalization.IdnMapping
$asciiHost = $mapping.GetAscii($unicodeProxyHost)
$endpoint = New-Object System.UriBuilder
$endpoint.Scheme = 'http'
$endpoint.Host = $asciiHost
$endpoint.Port = 8080
$proxy = New-Object System.Net.WebProxy($endpoint.Uri)
Το unicodeProxyHost είναι μόνο το όνομα τομέα. Η θύρα και το σχήμα παραμένουν ξεχωριστά. Χρησιμοποιήστε τον διαμεσολαβητή που προκύπτει στον πελάτη HTTP που κάνει το αίτημα.
Για ένα ήδη αναλυμένο Uri, το IdnHost εκθέτει την αναπαράσταση ονόματος κεντρικού υπολογιστή συμβατή με IDNA. Ελέγξτε το αρχικό τελικό σημείο αντί να κωδικοποιείτε επανειλημμένα μια ήδη κωδικοποιημένη ετικέτα.
Διακρίνετε το όνομα κεντρικού υπολογιστή του διαμεσολαβητή από εκείνο του προορισμού σε σφάλμα επίλυσης. Η μετατροπή του ενός δεν διορθώνει ορθογραφικό λάθος ή εγγραφή DNS που λείπει στο άλλο. Διατηρήστε το προβλεπόμενο όνομα κεντρικού υπολογιστή και για την ταυτότητα του πιστοποιητικού· η αντικατάστασή του με μια αυθαίρετη διεύθυνση IP αλλάζει άλλο μέρος της σύνδεσης.