web-dev-qa-db-fra.com

Comment décoder un paramètre d'URL en utilisant C #?

Comment décoder un paramètre d'URL encodé à l'aide de C #?

Par exemple, prenez cette URL:

my.aspx?val=%2Fxyz2F
136
Tom
Server.UrlDecode(xxxxxxxx)
96
TheVillageIdiot
string decodedUrl = Uri.UnescapeDataString(url)

ou

string decodedUrl = HttpUtility.UrlDecode(url)

L'URL n'est pas entièrement décodé en un seul appel. Pour décoder complètement, vous pouvez appeler l'une de ces méthodes en boucle:

private static string DecodeUrlString(string url) {
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}
265
ogi
76
Jon Skeet

Essaye ça:

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
21
Canavar

Essayer:

var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);
12
Matheus Miranda