Sdílet prostřednictvím


HttpUtility Třída

Definice

Poskytuje metody pro kódování a dekódování adres URL při zpracování webových požadavků. Tuto třídu nelze zdě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

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

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

Konstruktory

HttpUtility()

Inicializuje novou instanci HttpUtility třídy.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Type Získá aktuální instanci.

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

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

HtmlAttributeEncode(String, TextWriter)

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

HtmlDecode(String)

Převede řetězec kódovaný kódem HTML pro přenos HTTP na dekódovaný řetězec.

HtmlDecode(String, TextWriter)

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

HtmlEncode(Object)

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

HtmlEncode(String)

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

HtmlEncode(String, TextWriter)

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

JavaScriptStringEncode(String)

Zakóduje řetězec.

JavaScriptStringEncode(String, Boolean)

Zakóduje řetězec.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

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

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

ParseQueryString(String, Encoding)

Parsuje řetězec dotazu na NameValueCollection pomocí zadané Encoding.

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 bajtů zakódované bajtů adresy URL na dekódovaný řetězec pomocí zadaného objektu kódování, počínaje zadanou polohou v poli a pokračuje pro zadaný počet bajtů.

UrlDecode(String)

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

UrlDecode(String, Encoding)

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

UrlDecodeToBytes(Byte[])

Převede pole s kódováním ADRESY URL na dekódované pole bajtů.

UrlDecodeToBytes(Byte[], Int32, Int32)

Převede pole s kódováním URL bajtů na dekódovanou matici bajtů, počínaje zadanou polohou v poli a pokračuje pro zadaný počet bajtů.

UrlDecodeToBytes(String)

Převede řetězec 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.

UrlEncode(Byte[])

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

UrlEncode(Byte[], Int32, Int32)

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

UrlEncode(String)

Kóduje řetězec adresy URL.

UrlEncode(String, Encoding)

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

UrlEncodeToBytes(Byte[])

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

UrlEncodeToBytes(Byte[], Int32, Int32)

Převede pole bajtů na matici bajtů zakódovanou adresou URL, počínaje zadanou pozicí v matici a pokračováním pro zadaný počet bajtů.

UrlEncodeToBytes(String)

Převede řetězec 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í.

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é