C# でのエンコードされた URL パラメーターのデコード
C# で URL を操作する場合、多くの場合、エンコードされたパラメーターをデコードする必要があります。たとえば、URL my.aspx?val=/xyz2F では、パラメータ値 /xyz2F がエンコードされており、その真の値 (/xyz2F) を明らかにするにはデコードする必要があります。
C# で URL パラメータをデコードするには、一般的なアプローチは 2 つあります:
を使用する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 中国語 Web サイトの他の関連記事を参照してください。