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í UrlEncodeUrlDecode , a ParseQueryString metod 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ě HttpServerUtility používá třída, jejíž metody a vlastnosti jsou zpřístupněny prostřednictvím objektu vnitřní ASP.NET Server . Kromě toho HttpUtility třída obsahuje kódovací a dekódovací metody nástroje, které nejsou přístupné z .Server

Ke 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í hashovací funkce.

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

Type Získá z aktuální instance.

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

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

HtmlAttributeEncode(String, TextWriter)

Minimálně převede řetězec na řetězec s kódováním HTML a odešle kó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.

HtmlDecode(String, TextWriter)

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

HtmlEncode(Object)

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

HtmlEncode(String)

Převede řetězec na řetězec kódovaný ve formátu HTML.

HtmlEncode(String, TextWriter)

Převede řetězec na řetězec s kódováním 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ří mělkou kopii aktuálního Objectsouboru .

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

Parsuje řetězec dotazu na NameValueCollection kódování using UTF8 .

ParseQueryString(String, Encoding)

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

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 objektu dekódování.

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

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

UrlDecode(String)

Převede řetězec, který byl kódován 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 bajtů kódované pomocí adresy URL na dekódované pole bajtů.

UrlDecodeToBytes(Byte[], Int32, Int32)

Převede pole bajtů zakódované v adrese URL na dekódované pole bajtů, počínaje zadanou pozicí v poli a pokračováním po 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 objektu dekódování.

UrlEncode(Byte[])

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

UrlEncode(Byte[], Int32, Int32)

Převede pole bajtů na řetězec kódovaný adresou URL, počínaje zadanou pozicí v poli a pokračováním po zadaný počet bajtů.

UrlEncode(String)

Zakó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 pole bajtů zakódované v adrese URL, počínaje zadanou pozicí v poli a pokračováním po zadaný počet bajtů.

UrlEncodeToBytes(String)

Převede řetězec na pole bajtů kódované pomocí adresy 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é