C#を使用してエンコードされたURLパラメーターをデコードするにはどうすればよいですか?
たとえば、次のURLを使用します。
my.aspx?val=%2Fxyz2F
Server.UrlDecode(xxxxxxxx)
string decodedUrl = Uri.UnescapeDataString(url)
または
string decodedUrl = HttpUtility.UrlDecode(url)
URLは1回の呼び出しで完全にデコードされません。完全にデコードするには、ループ内で次のメソッドのいずれかを呼び出すことができます。
private static string DecodeUrlString(string url) {
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}
HttpServerUtility.UrlDecode
または HttpUtility.UrlDecode
を試しましたか?
これを試して:
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
試してください:
var myUrl = "my.aspx?val=%2Fxyz2F";
var decodeUrl = System.Uri.UnescapeDataString(myUrl);