Как мне декодировать параметр URL с помощью C #? - PullRequest
128 голосов
/ 10 сентября 2009

Как я могу декодировать закодированный параметр URL, используя C #?

Например, возьмите этот URL:

my.aspx?val=%2Fxyz2F

Ответы [ 5 ]

258 голосов
/ 03 октября 2010
string decodedUrl = Uri.UnescapeDataString(url)

или

string decodedUrl = HttpUtility.UrlDecode(url)

URL не полностью декодируется за один вызов.Чтобы полностью декодировать, вы можете вызвать один из следующих методов в цикле:

private static string DecodeUrlString(string url) {
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}
94 голосов
/ 10 сентября 2009
Server.UrlDecode(xxxxxxxx)
76 голосов
/ 10 сентября 2009

Вы пробовали HttpServerUtility.UrlDecode или HttpUtility.UrlDecode?

20 голосов
/ 10 сентября 2009

Попробуйте это:

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
10 голосов
/ 11 декабря 2016

Попробуйте string s = System.Uri.UnescapeDataString(here);

...