我该如何使用C#解码已编码的URL参数?
例如,考虑以下URL:
my.aspx?val=%2Fxyz2F
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;
}
Server.UrlDecode(xxxxxxxx)
System.Web.HttpServerUtilityBase
,但在ASP.NET MVC中应该已经被导入了。 - FilnorHttpServerUtility.UrlDecode
这个实例方法,应该使用HttpContext.Current.Server.UrlDecode
。 - BornToCode尝试:
var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);
试一试这个:
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");