다음을 통해 공유


HttpUtility 클래스

정의

웹 요청을 처리할 때 URL 인코딩 및 디코딩을 위한 메서드를 제공합니다. 이 클래스는 상속될 수 없습니다.

public ref class HttpUtility sealed
public sealed class HttpUtility
type HttpUtility = class
Public NotInheritable Class HttpUtility
상속
HttpUtility

예제

다음 코드 예제에서는 사용 하 여 보여 줍니다는 UrlEncode, UrlDecodeParseQueryString 메서드의 HttpUtility 클래스입니다.

<%@ 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포함됩니다.

웹 애플리케이션 외부의 값을 인코딩 또는 디코딩하려면 WebUtility 클래스를 사용합니다.

생성자

HttpUtility()

HttpUtility 클래스의 새 인스턴스를 초기화합니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HtmlAttributeEncode(String)

적어도 문자열 하나를 HTML로 인코딩된 문자열로 변환합니다.

HtmlAttributeEncode(String, TextWriter)

최소한 문자열을 HTML로 인코딩된 문자열로 변환하고 인코딩된 문자열을 TextWriter 출력 스트림으로 보냅니다.

HtmlDecode(String)

HTTP 전송을 위해 HTML로 인코딩된 문자열을 디코딩된 문자열로 변환합니다.

HtmlDecode(String, TextWriter)

HTML로 인코딩된 문자열을 디코딩된 문자열로 변환하고 디코딩된 문자열을 TextWriter 출력 스트림으로 보냅니다.

HtmlEncode(Object)

개체의 문자열 표현을 HTML로 인코딩된 문자열로 변환하고 인코딩된 문자열을 반환합니다.

HtmlEncode(String)

문자열을 HTML 인코딩된 문자열로 변환합니다.

HtmlEncode(String, TextWriter)

문자열을 HTML 인코딩된 문자열로 변환하고 출력 스트림 TextWriter로 출력을 반환합니다.

JavaScriptStringEncode(String)

문자열을 인코딩합니다.

JavaScriptStringEncode(String, Boolean)

문자열을 인코딩합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ParseQueryString(String)

NameValueCollection 인코딩을 사용하여 쿼리 문자열을 UTF8 으로 구문 분석합니다.

ParseQueryString(String, Encoding)

지정된 NameValueCollection 을 사용하여 쿼리 문자열을 Encoding에 구문 분석합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
UrlDecode(Byte[], Encoding)

지정된 디코딩 개체를 사용하여 URL로 인코딩된 바이트 배열을 디코딩된 문자열로 변환합니다.

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

지정된 인코딩 개체를 사용하여 URL로 인코딩된 바이트 배열을 배열의 지정된 위치에서 시작하여 지정된 바이트 수까지 계속되는 디코딩된 문자열로 변환합니다.

UrlDecode(String)

URL에서 전송을 위해 인코딩된 문자열로 디코딩된 문자열로 변환합니다.

UrlDecode(String, Encoding)

지정된 인코딩 개체를 사용하여 URL로 인코딩된 문자열을 디코딩된 문자열로 변환합니다.

UrlDecodeToBytes(Byte[])

URL로 인코딩된 바이트 배열을 디코딩된 바이트 배열로 변환합니다.

UrlDecodeToBytes(Byte[], Int32, Int32)

URL로 인코딩된 바이트 배열을, 배열의 지정된 위치에서 시작하여 지정된 바이트 수까지 계속되는 디코딩된 바이트 배열로 변환합니다.

UrlDecodeToBytes(String)

URL로 인코딩된 문자열을 디코딩된 바이트 배열로 변환합니다.

UrlDecodeToBytes(String, Encoding)

지정된 디코딩 개체를 사용하여 URL로 인코딩된 문자열을 디코딩된 바이트 배열로 변환합니다.

UrlEncode(Byte[])

바이트 배열을 인코딩된 URL 문자열로 변환합니다.

UrlEncode(Byte[], Int32, Int32)

바이트 배열을 배열의 지정된 위치에서 시작되고 지정된 바이트 수까지 계속되는 URL 인코딩 문자열로 변환합니다.

UrlEncode(String)

URL 문자열을 인코딩합니다.

UrlEncode(String, Encoding)

지정된 인코딩 개체를 사용하여 URL 문자열을 인코딩합니다.

UrlEncodeToBytes(Byte[])

배열 바이트를 URL로 인코딩된 바이트 배열로 변환합니다.

UrlEncodeToBytes(Byte[], Int32, Int32)

바이트 배열을, 배열의 지정된 위치에서 시작하여 지정된 바이트 수까지 계속되는 URL로 인코딩된 바이트 배열로 변환합니다.

UrlEncodeToBytes(String)

문자열을 URL로 인코딩된 바이트 배열로 변환합니다.

UrlEncodeToBytes(String, Encoding)

지정된 인코딩 개체를 사용하여 문자열을 URL로 인코딩된 바이트 배열로 변환합니다.

UrlEncodeUnicode(String)
사용되지 않음.

문자열을 유니코드 문자열로 변환합니다.

UrlEncodeUnicodeToBytes(String)
사용되지 않음.

유니코드 문자열을 바이트 배열로 변환합니다.

UrlPathEncode(String)

사용하지 마세요. 브라우저 호환성을 위해서만 제공됩니다. UrlEncode(String)을 사용하세요.

적용 대상

추가 정보