HttpUtility クラス

定義

Web 要求を処理するときに URL をエンコードおよびデコードするためのメソッドを提供します。 このクラスは継承できません。

public ref class HttpUtility sealed
public sealed class HttpUtility
type HttpUtility = class
Public NotInheritable Class HttpUtility
継承
HttpUtility

次のコード例は、HttpUtility クラスのUrlEncodeUrlDecode、およびParseQueryStringメソッドの使用を示しています。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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 xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      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" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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 xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      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" />    
    </div>
    </form>
</body>
</html>

注釈

HttpUtility クラスは、HttpServerUtility クラスによって内部的に使用され、そのメソッドとプロパティは組み込みの ASP.NET Server オブジェクトを介して公開されます。 さらに、 HttpUtility クラスには、 Serverからアクセスできないエンコードおよびデコード ユーティリティ メソッドが含まれています。

Web アプリケーションの外部で値をエンコードまたはデコードするには、 WebUtility クラスを使用します。

コンストラクター

名前 説明
HttpUtility()

HttpUtility クラスの新しいインスタンスを初期化します。

メソッド

名前 説明
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HtmlAttributeEncode(String, TextWriter)

文字列を HTML エンコード文字列に最小限に変換し、エンコードされた文字列を TextWriter 出力ストリームに送信します。

HtmlAttributeEncode(String)

文字列を HTML エンコード文字列に最小限に変換します。

HtmlDecode(String, TextWriter)

HTML エンコードされた文字列をデコードされた文字列に変換し、デコードされた文字列を TextWriter 出力ストリームに送信します。

HtmlDecode(String)

HTTP 転送用に HTML エンコードされた文字列をデコードされた文字列に変換します。

HtmlEncode(Object)

オブジェクトの文字列表現を HTML エンコード文字列に変換し、エンコードされた文字列を返します。

HtmlEncode(String, TextWriter)

文字列を HTML エンコード文字列に変換し、出力の TextWriter ストリームとして出力を返します。

HtmlEncode(String)

文字列を HTML エンコードされた文字列に変換します。

JavaScriptStringEncode(String, Boolean)

文字列をエンコードします。

JavaScriptStringEncode(String)

文字列をエンコードします。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ParseQueryString(String, Encoding)

指定したEncodingを使用して、クエリ文字列をNameValueCollectionに解析します。

ParseQueryString(String)

UTF8 エンコードを使用して、クエリ文字列をNameValueCollectionに解析します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
UrlDecode(Byte[], Encoding)

指定したデコード オブジェクトを使用して、URL でエンコードされたバイト配列をデコードされた文字列に変換します。

UrlDecode(Byte[], Int32, Int32, Encoding)

URL でエンコードされたバイト配列を、指定したエンコード オブジェクトを使用してデコードされた文字列に変換します。これは、配列内の指定した位置から始まり、指定したバイト数まで続きます。

UrlDecode(String, Encoding)

指定したエンコード オブジェクトを使用して、URL でエンコードされた文字列をデコードされた文字列に変換します。

UrlDecode(String)

URL で転送するためにエンコードされた文字列をデコードされた文字列に変換します。

UrlDecodeToBytes(Byte[], Int32, Int32)

URL でエンコードされたバイト配列をデコードされたバイト配列に変換します。これは、配列内の指定した位置から始まり、指定したバイト数まで続きます。

UrlDecodeToBytes(Byte[])

URL でエンコードされたバイト配列をデコードされたバイト配列に変換します。

UrlDecodeToBytes(String, Encoding)

指定したデコード オブジェクトを使用して、URL でエンコードされた文字列をデコードされたバイト配列に変換します。

UrlDecodeToBytes(String)

URL でエンコードされた文字列をデコードされたバイト配列に変換します。

UrlEncode(Byte[], Int32, Int32)

バイト配列を URL エンコード文字列に変換します。配列内の指定した位置から始まり、指定したバイト数だけ続けます。

UrlEncode(Byte[])

バイト配列をエンコードされた URL 文字列に変換します。

UrlEncode(String, Encoding)

指定したエンコード オブジェクトを使用して URL 文字列をエンコードします。

UrlEncode(String)

URL 文字列をエンコードします。

UrlEncodeToBytes(Byte[], Int32, Int32)

バイトの配列を、配列内の指定した位置から始まり、指定したバイト数だけ続けて、URL でエンコードされたバイト配列に変換します。

UrlEncodeToBytes(Byte[])

バイトの配列を、URL でエンコードされたバイト配列に変換します。

UrlEncodeToBytes(String, Encoding)

指定したエンコード オブジェクトを使用して、文字列を URL エンコードされたバイト配列に変換します。

UrlEncodeToBytes(String)

文字列を URL エンコードされたバイト配列に変換します。

UrlEncodeUnicode(String)
古い.

文字列を Unicode 文字列に変換します。

UrlEncodeUnicodeToBytes(String)
古い.

Unicode 文字列をバイト配列に変換します。

UrlPathEncode(String)

使用しないでください。ブラウザーの互換性のみを目的としています。 UrlEncode(String) を使用してください。

適用対象

こちらもご覧ください