Ένα όνομα κεντρικού υπολογιστή διαμεσολαβητή μπορεί να περιέχει διεθνείς χαρακτήρες στην εμφανιζόμενη μορφή του. Ένας πελάτης ή επιλυτής που περιμένει τη μορφή 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 αλλάζει άλλο μέρος της σύνδεσης.

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