在 C# 中解码编码的 URL 参数
在 C# 中使用 URL 时,通常需要对编码的参数进行解码。例如,在 URL my.aspx?val=/xyz2F 中,参数值 /xyz2F 被编码,需要解码以显示其真实值,即 /xyz2F。
在 C# 中解码 URL 参数,有两种常见的方法:
使用Uri.UnescapeDataString():
string url = "my.aspx?val=%2Fxyz2F"; string decodedUrl = Uri.UnescapeDataString(url);
此方法解码整个 URL 参数字符串,包括其他编码部分。
使用HttpUtility.UrlDecode():
string url = "my.aspx?val=%2Fxyz2F"; string decodedUrl = HttpUtility.UrlDecode(url);
此方法仅解码特定的 URL 参数值,而不是整个 URL。
在某些情况下, URL 可能被多重编码。要完全解码这样的 URL 字符串,您可以使用循环,如下所示:
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
以上是如何在 C# 中解码 URL 参数?的详细内容。更多信息请关注PHP中文网其他相关文章!