Վստահված սերվերի հոսթի անունը ցուցադրվող ձևում կարող է պարունակել միջազգային նշաններ։ IDNA ASCII ձևն ակնկալող հաճախորդը կամ լուծիչը կարիք ունի այդ հոսթի անվան փոխակերպված տարբերակին, ոչ թե ամբողջ URL-ի կամայական տոկոսային escaped պատճենին։

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 հասցեով փոխարինելը փոխում է կապի մեկ այլ մասը։

Առնչվող հոդվածներ