HttpUtility Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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). |