HttpUtility Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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). |