Trosi enw gwesteiwr dirprwy i IDNA ASCII yn PowerShell
Trosi enw parth rhyngwladol i'w ffurf IDNA ASCII pan na all defnyddiwr pen draw'r dirprwy ddatrys yr enw gwesteiwr Unicode.
Gall enw gwesteiwr dirprwy gynnwys nodau rhyngwladol yn ei ffurf arddangos. Mae cleient neu ddatryswr sy'n disgwyl y ffurf IDNA ASCII angen yr enw gwesteiwr hwnnw wedi'i drosi, nid copi canrannol ddianc mympwyol o'r URL cyfan.
Yn PowerShell, mae .NET yn datgelu'r trawsnewidiad yn uniongyrchol:
$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)
Enw'r parth yn unig yw unicodeProxyHost. Mae'r porth a'r cynllun yn parhau ar wahân. Defnyddiwch y dirprwy sy'n deillio o hyn ar y cleient HTTP sy'n gwneud y cais.
Ar gyfer Uri sydd eisoes wedi'i dosrannu, mae IdnHost yn datgelu ei gynrychioliad enw gwesteiwr sy'n gydnaws ag IDNA. Adolygwch y pen draw gwreiddiol yn hytrach nag amgodio label sydd eisoes wedi'i hamgodio dro ar ôl tro.
Gwahaniaethwch enw gwesteiwr y dirprwy oddi wrth enw gwesteiwr y cyrchfan mewn gwall datrysiad. Nid yw trosi'r naill yn cywiro camsillafiad na chofnod DNS coll ar y llall. Cadwch yr enw gwesteiwr arfaethedig ar gyfer hunaniaeth tystysgrif hefyd; mae ei ddisodli â chyfeiriad IP mympwyol yn newid rhan arall o'r cysylltiad.