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>


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 クラスのページへのリンク