159

如何使用 C# 解码编码的 URL 参数?

例如,以这个 URL 为例:

my.aspx?val=%2Fxyz2F
4

5 回答 5

323
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;
}
于 2010-10-02T21:26:15.380 回答
111
Server.UrlDecode(xxxxxxxx)
于 2009-09-10T12:41:26.877 回答
80

你试过了吗HttpServerUtility.UrlDecodeHttpUtility.UrlDecode

于 2009-09-10T12:40:52.650 回答
30

尝试:

var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);
于 2016-12-11T16:53:04.990 回答
26

试试这个:

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
于 2009-09-10T12:42:10.963 回答