C# Decode cyrilic url


Notice: Undefined property: wpsociallikes::$is_excerpt in /hsphere/local/home/bigfozzy4/myhumanemulator.net/wp-content/plugins/wp-social-likes/wp-social-likes.php on line 281

Получить user frendly строку из закодированного (для DNS сервера) кириллического урла.
Пример 1:
string res = GetCyrillicUrl(“http://xn--80abucjiibhv9a.xn--p1ai/%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D0%B5%D1%80%D1%81%D1%82%D0%B2%D0%BE”);
Console.WriteLine(res);// Output: http://минобрнауки.рф/министерство

Пример 2:
string res = GetCyrillicUrl(“https://news.mail.ru/politics/24609563/?frommail=1”);
Console.WriteLine(res);// Output: https://news.mail.ru/politics/24609563/?frommail=1

using System;
System.Globalization;

string GetCyrillicUrl(string url)
{
     Uri uri = new Uri(url);
     IdnMapping idn = new IdnMapping();
     string host = idn.GetUnicode(uri.Host);
     string query = HttpUtility.UrlDecode(uri.Query);
     return uri.Scheme + @"://" + host + uri.LocalPath + query;
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

2 × 5 =