Udostępnij za pośrednictwem


HttpUtility Klasa

Definicja

Udostępnia metody kodowania i dekodowania adresów URL podczas przetwarzania żądań sieci Web. Klasa ta nie może być dziedziczona.

public ref class HttpUtility sealed
public sealed class HttpUtility
type HttpUtility = class
Public NotInheritable Class HttpUtility
Dziedziczenie
HttpUtility

Przykłady

Poniższy przykład kodu przedstawia użycie UrlEncodemetody HttpUtility i klasy ParseQueryString . UrlDecode

<%@ 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>

Uwagi

Klasa HttpUtility jest używana wewnętrznie przez klasę HttpServerUtility , której metody i właściwości są widoczne za pośrednictwem wewnętrznego obiektu ASP.NET Server . HttpUtility Ponadto klasa zawiera metody kodowania i dekodowania narzędzi, które nie są dostępne z klasy Server.

Aby kodować lub dekodować wartości poza aplikacją internetową, użyj WebUtility klasy .

Konstruktory

HttpUtility()

Inicjuje nowe wystąpienie klasy HttpUtility.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
HtmlAttributeEncode(String)

Minimalnie konwertuje ciąg na ciąg zakodowany w formacie HTML.

HtmlAttributeEncode(String, TextWriter)

Minimalnie konwertuje ciąg na ciąg zakodowany w formacie HTML i wysyła zakodowany ciąg do strumienia wyjściowego TextWriter .

HtmlDecode(String)

Konwertuje ciąg zakodowany w kodzie HTML na potrzeby transmisji HTTP w zdekodowany ciąg.

HtmlDecode(String, TextWriter)

Konwertuje ciąg zakodowany w formacie HTML na zdekodowany ciąg i wysyła zdekodowany ciąg do strumienia wyjściowego TextWriter .

HtmlEncode(Object)

Konwertuje reprezentację ciągu obiektu na ciąg zakodowany w formacie HTML i zwraca zakodowany ciąg.

HtmlEncode(String)

Konwertuje ciąg na ciąg zakodowany w formacie HTML.

HtmlEncode(String, TextWriter)

Konwertuje ciąg na ciąg zakodowany w formacie HTML i zwraca dane wyjściowe jako TextWriter strumień danych wyjściowych.

JavaScriptStringEncode(String)

Koduje ciąg.

JavaScriptStringEncode(String, Boolean)

Koduje ciąg.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ParseQueryString(String)

Analizuje ciąg zapytania przy NameValueCollection użyciu UTF8 kodowania.

ParseQueryString(String, Encoding)

Analizuje ciąg zapytania przy NameValueCollection użyciu określonego Encodingelementu .

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UrlDecode(Byte[], Encoding)

Konwertuje tablicę bajtów zakodowaną na adres URL na zdekodowany ciąg przy użyciu określonego obiektu dekodowania.

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

Konwertuje tablicę bajtów zakodowaną w adresie URL na zdekodowany ciąg przy użyciu określonego obiektu kodowania, zaczynając od określonej pozycji w tablicy i kontynuując określoną liczbę bajtów.

UrlDecode(String)

Konwertuje ciąg zakodowany na potrzeby transmisji w adresie URL do zdekodowanego ciągu.

UrlDecode(String, Encoding)

Konwertuje ciąg zakodowany w adresie URL na zdekodowany ciąg przy użyciu określonego obiektu kodowania.

UrlDecodeToBytes(Byte[])

Konwertuje zakodowaną w adresie URL tablicę bajtów na zdekodowaną tablicę bajtów.

UrlDecodeToBytes(Byte[], Int32, Int32)

Konwertuje tablicę zakodowaną w adresie URL bajtów na zdekodowaną tablicę bajtów, zaczynając od określonej pozycji w tablicy i kontynuując określoną liczbę bajtów.

UrlDecodeToBytes(String)

Konwertuje ciąg zakodowany w adresie URL na zdekodowaną tablicę bajtów.

UrlDecodeToBytes(String, Encoding)

Konwertuje ciąg zakodowany w adresie URL na zdekodowaną tablicę bajtów przy użyciu określonego obiektu dekodowania.

UrlEncode(Byte[])

Konwertuje tablicę bajtów na zakodowany ciąg adresu URL.

UrlEncode(Byte[], Int32, Int32)

Konwertuje tablicę bajtów na ciąg zakodowany w adresie URL, zaczynając od określonej pozycji w tablicy i kontynuując określoną liczbę bajtów.

UrlEncode(String)

Koduje ciąg adresu URL.

UrlEncode(String, Encoding)

Koduje ciąg adresu URL przy użyciu określonego obiektu kodowania.

UrlEncodeToBytes(Byte[])

Konwertuje tablicę bajtów na tablicę zakodowaną w adresie URL bajtów.

UrlEncodeToBytes(Byte[], Int32, Int32)

Konwertuje tablicę bajtów na tablicę zakodowaną w adresie URL bajtów, zaczynając od określonej pozycji w tablicy i kontynuując określoną liczbę bajtów.

UrlEncodeToBytes(String)

Konwertuje ciąg na tablicę zakodowaną w adresie URL bajtów.

UrlEncodeToBytes(String, Encoding)

Konwertuje ciąg na tablicę zakodowaną w adresie URL bajtów przy użyciu określonego obiektu kodowania.

UrlEncodeUnicode(String)
Przestarzałe.

Konwertuje ciąg na ciąg Unicode.

UrlEncodeUnicodeToBytes(String)
Przestarzałe.

Konwertuje ciąg Unicode na tablicę bajtów.

UrlPathEncode(String)

Nie używaj; przeznaczone tylko dla zgodności przeglądarki. Użyj polecenia UrlEncode(String).

Dotyczy

Zobacz też