C # kullanarak kodlanmış bir URL parametresinin kodunu nasıl çözebilirim?
Örneğin, şu URL'yi alın:
my.aspx?val=%2Fxyz2F
Yanıtlar:
Server.UrlDecode(xxxxxxxx)
System.Web.HttpServerUtilityBase
, ancak bu zaten ASP.NET MVC'ye aktarılmış olmalıdır.
string decodedUrl = Uri.UnescapeDataString(url)
veya
string decodedUrl = HttpUtility.UrlDecode(url)
URL, tek bir aramayla tam olarak çözülmedi. Tamamen kodunu çözmek için bu yöntemlerden birini bir döngüde çağırabilirsiniz:
private static string DecodeUrlString(string url) {
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}
Uri.UnescapeDataString
İki kez koştum ve istediğimi aldım !! : D
Eğer denedin HttpServerUtility.UrlDecode
ya HttpUtility.UrlDecode
?
HttpServerUtility.UrlDecode
Bir örnek yöntemi olana erişmek için kullanılması gerekir HttpContext.Current.Server.UrlDecode
.
Deneyin:
var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);