HttpUtility クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説HttpUtility クラスは、HttpServerUtility クラスによって内部的に使用されます。このクラスのメソッドとプロパティは、組み込みの ASP.NET Server オブジェクトを通じて公開されます。また、HttpUtility クラスには、Server からはアクセスできないエンコードとデコードを行うためのユーティリティ メソッドが含まれています。
使用例HttpUtility クラスの HtmlEncode、HtmlDecode、ParseQueryString の各メソッドの使用方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim currurl As String = HttpContext.Current.Request.RawUrl Dim querystring As String = Nothing ' Check to make sure some query string variables ' exist and if not add some and redirect. Dim iqs As Int32 = currurl.IndexOf("?".ToCharArray()) If (iqs = -1) Then Dim redirecturl As String = currurl & "?var1=1&var2=2+2%2f3&var1=3" Response.Redirect(redirecturl, True) ' If query string variables exist, put them in ' a string. ElseIf (iqs >= 0) Then If (iqs < currurl.Length - 1) Then querystring = currurl.Substring(iqs + 1) End If End If ' Parse the query string variables into a NameValueCollection. Dim qscoll As NameValueCollection = HttpUtility.ParseQueryString(querystring) ' Iterate through the collection. Dim sb As New StringBuilder() For Each s As String In qscoll.AllKeys sb.Append(s & " - " & qscoll(s) & "<br>") Next s ' Write the results to the appropriate labels. ParseOutput.Text = sb.ToString() UrlRawOutput.Text = currurl UrlEncodedOutput.Text = HttpUtility.UrlEncode(currurl) UrlDecodedOutput.Text = HttpUtility.UrlDecode(currurl) End Sub </script> <html> <head id="Head1" runat="server"> <title>HttpUtility ParseQueryString Example</title> </head> <body> <form id="Form1" runat="server"> The raw url is: <br /> <asp:Label id="UrlRawOutput" runat="server" /> <br /><br /> The url encoded is: <br /> <asp:Label id="UrlEncodedOutput" runat="server" /> <br /><br /> The url decoded is: <br /> <asp:Label id="UrlDecodedOutput" runat="server" /> <br /><br /> The query string NameValueCollection is: <br /> <asp:Label id="ParseOutput" runat="server" /> </form> </body> </html>
<%@ Page Language="C#"%> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { String currurl = HttpContext.Current.Request.RawUrl; String querystring = null ; // Check to make sure some query string variables // exist and if not add some and redirect. int iqs = currurl.IndexOf('?'); if (iqs == -1) { String redirecturl = currurl + "?var1=1&var2=2+2%2f3&var1=3"; Response.Redirect(redirecturl, true); } // If query string variables exist, put them in // a string. else if (iqs >= 0) { querystring = (iqs < currurl.Length - 1) ? currurl.Substring(iqs + 1) : String.Empty; } // Parse the query string variables into a NameValueCollection. NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring); // Iterate through the collection. StringBuilder sb = new StringBuilder(); foreach (String s in qscoll.AllKeys) { sb.Append(s + " - " + qscoll[s] + "<br>"); } // Write the results to the appropriate labels. ParseOutput.Text = sb.ToString(); UrlRawOutput.Text = currurl; UrlEncodedOutput.Text = HttpUtility.UrlEncode(currurl); UrlDecodedOutput.Text = HttpUtility.UrlDecode(currurl); } </script> <html> <head runat="server"> <title>HttpUtility ParseQueryString Example</title> </head> <body> <form runat="server"> The raw url is: <br /> <asp:Label id="UrlRawOutput" runat="server" /> <br /><br /> The url encoded is: <br /> <asp:Label id="UrlEncodedOutput" runat="server" /> <br /><br /> The url decoded is: <br /> <asp:Label id="UrlDecodedOutput" runat="server" /> <br /><br /> The query string NameValueCollection is: <br /> <asp:Label id="ParseOutput" runat="server" /> </form> </body> </html>
.NET Framework のセキュリティ
継承階層System.Web.HttpUtility
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照- HttpUtility クラスのページへのリンク