首頁 >後端開發 >C++ >如何在 C# 中完全解碼 URL 參數?

如何在 C# 中完全解碼 URL 參數?

Patricia Arquette
Patricia Arquette原創
2025-01-06 15:19:41581瀏覽

How to Fully Decode URL Parameters in C#?

在 C# 中解碼 URL 參數

HTTP 請求通常包含出於安全原因可能被編碼的 URL 參數。要在 C# 中存取這些參數,您需要先對其進行解碼。

方法1:Uri.UnescapeDataString

string encodedUrl = "my.aspx?val=%2Fxyz2F";
string decodedUrl = Uri.UnescapeDataString(encodedUrl);

方法2:HttpUtility.UrlDecode

方法2:HttpUtility.UrlDecode
string decodedUrl = HttpUtility.UrlDecode(encodedUrl);

。方法都執行基本的URL 解碼,但單一呼叫可能還不夠。要完全解碼URL,您可以使用while 循環重複解碼它,直到不再發生任何更改:

static string DecodeUrlString(string url) {
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}

使用此方法,提供的URL 將完全解碼為“my.aspx?val= /xyz2F 」。

以上是如何在 C# 中完全解碼 URL 參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn