HttpUtility Třída

Definice

Poskytuje metody pro kódování a dekódování adres URL při zpracování webových požadavků. Tato třída se nemůže dědit.

public ref class HttpUtility sealed
public sealed class HttpUtility
type HttpUtility = class
Public NotInheritable Class HttpUtility
Dědičnost
HttpUtility

Příklady

Následující příklad kódu ukazuje použití UrlEncode, UrlDecode a ParseQueryString metody HttpUtility třídy.

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

Poznámky

Třídu HttpUtility interně používá třída HttpServerUtility, jejíž metody a vlastnosti jsou vystaveny prostřednictvím vnitřní ASP.NET Server objektu. Kromě toho HttpUtility třída obsahuje kódování a dekódování utility metody, které nejsou přístupné z Server.

K kódování nebo dekódování hodnot mimo webovou aplikaci použijte WebUtility třídu.

Konstruktory

Name Description
HttpUtility()

Inicializuje novou instanci HttpUtility třídy.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
HtmlAttributeEncode(String, TextWriter)

Minimálně převede řetězec na řetězec kódovaný ve formátu HTML a odešle kódovaný řetězec do výstupního datového TextWriter proudu.

HtmlAttributeEncode(String)

Minimálně převede řetězec na řetězec kódovaný kódem HTML.

HtmlDecode(String, TextWriter)

Převede řetězec kódovaný kódem HTML na dekódovaný řetězec a odešle dekódovaný řetězec do výstupního datového TextWriter proudu.

HtmlDecode(String)

Převede řetězec, který byl kódován HTML pro přenos HTTP na dekódovaný řetězec.

HtmlEncode(Object)

Převede řetězcovou reprezentaci objektu na řetězec kódovaný kódem HTML a vrátí kódovaný řetězec.

HtmlEncode(String, TextWriter)

Převede řetězec na řetězec kódovaný kódem HTML a vrátí výstup jako TextWriter datový proud výstupu.

HtmlEncode(String)

Převede řetězec na řetězec kódovaný kódem HTML.

JavaScriptStringEncode(String, Boolean)

Zakóduje řetězec.

JavaScriptStringEncode(String)

Zakóduje řetězec.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ParseQueryString(String, Encoding)

Parsuje řetězec dotazu do NameValueCollection zadaného Encodingřetězce .

ParseQueryString(String)

Parsuje řetězec dotazu do NameValueCollection kódování pomocí UTF8 .

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
UrlDecode(Byte[], Encoding)

Převede pole bajtů kódované adresou URL na dekódovaný řetězec pomocí zadaného dekódujícího objektu.

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

Převede pole bajtů kódované adresou URL na dekódovaný řetězec pomocí zadaného objektu kódování, počínaje zadanou pozicí v poli a pokračuje pro zadaný počet bajtů.

UrlDecode(String, Encoding)

Převede řetězec kódovaný adresou URL na dekódovaný řetězec pomocí zadaného objektu kódování.

UrlDecode(String)

Převede řetězec zakódovaný pro přenos v adrese URL na dekódovaný řetězec.

UrlDecodeToBytes(Byte[], Int32, Int32)

Převede pole bajtů kódované adresou URL na dekódovanou matici bajtů, počínaje zadanou pozicí v poli a pokračuje pro zadaný počet bajtů.

UrlDecodeToBytes(Byte[])

Převede pole bajtů kódované adresou URL na dekódované pole bajtů.

UrlDecodeToBytes(String, Encoding)

Převede řetězec kódovaný adresou URL na dekódované pole bajtů pomocí zadaného dekódujícího objektu.

UrlDecodeToBytes(String)

Převede řetězec kódovaný adresou URL na dekódované pole bajtů.

UrlEncode(Byte[], Int32, Int32)

Převede bajtové pole na řetězec kódovaný adresou URL počínaje zadanou pozicí v poli a pokračuje pro zadaný počet bajtů.

UrlEncode(Byte[])

Převede bajtové pole na kódovaný řetězec adresy URL.

UrlEncode(String, Encoding)

Zakóduje řetězec adresy URL pomocí zadaného objektu kódování.

UrlEncode(String)

Zakóduje řetězec adresy URL.

UrlEncodeToBytes(Byte[], Int32, Int32)

Převede pole bajtů na pole bajtů kódované adresou URL, počínaje zadanou pozicí v poli a pokračuje pro zadaný počet bajtů.

UrlEncodeToBytes(Byte[])

Převede pole bajtů na pole bajtů kódované adresou URL.

UrlEncodeToBytes(String, Encoding)

Převede řetězec na pole bajtů kódované adresou URL pomocí zadaného objektu kódování.

UrlEncodeToBytes(String)

Převede řetězec na pole bajtů kódované adresou URL.

UrlEncodeUnicode(String)
Zastaralé.

Převede řetězec na řetězec Unicode.

UrlEncodeUnicodeToBytes(String)
Zastaralé.

Převede řetězec Unicode na pole bajtů.

UrlPathEncode(String)

Nepoužívejte; určené pouze pro kompatibilitu prohlížeče. Použijte UrlEncode(String).

Platí pro

Viz také