HttpUtility Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece métodos para codificar e decodificar URLs ao processar pedidos Web. Esta classe não pode ser herdada.
public ref class HttpUtility sealed
public sealed class HttpUtility
type HttpUtility = class
Public NotInheritable Class HttpUtility
- Herança
-
HttpUtility
Exemplos
O exemplo de código seguinte demonstra a utilização dos UrlEncodemétodos , UrlDecode e ParseQueryString da HttpUtility classe.
<%@ 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>
Observações
A classe HttpUtility é usada internamente pela classe HttpServerUtility, cujos métodos e propriedades são expostos através do objeto intrínseco ASP.NET Server. Adicionalmente, a HttpUtility classe contém métodos utilitários de codificação e decodificação que não são acessíveis a partir do Server.
Para codificar ou decodificar valores fora de uma aplicação web, use a WebUtility classe.
Construtores
| Name | Description |
|---|---|
| HttpUtility() |
Inicializa uma nova instância da HttpUtility classe. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HtmlAttributeEncode(String, TextWriter) |
Converte minimamente uma string numa string codificada em HTML e envia a string codificada para um TextWriter fluxo de saída. |
| HtmlAttributeEncode(String) |
Converte minimamente uma string numa string codificada em HTML. |
| HtmlDecode(String, TextWriter) |
Converte uma cadeia que foi codificada em HTML numa cadeia decodificada e envia a cadeia decodificada para um TextWriter fluxo de saída. |
| HtmlDecode(String) |
Converte uma cadeia que foi codificada em HTML para transmissão HTTP numa cadeia decodificada. |
| HtmlEncode(Object) |
Converte a representação de uma cadeia de caracteres de um objeto numa cadeia codificada em HTML e devolve a cadeia codificada. |
| HtmlEncode(String, TextWriter) |
Converte uma string numa string codificada em HTML e devolve a saída como um TextWriter fluxo de saída. |
| HtmlEncode(String) |
Converte uma cadeia de caracteres em uma cadeia de caracteres codificada em HTML. |
| JavaScriptStringEncode(String, Boolean) |
Codifica uma corda. |
| JavaScriptStringEncode(String) |
Codifica uma corda. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ParseQueryString(String, Encoding) |
Analisa uma cadeia de consulta em um NameValueCollection usando o especificado Encoding. |
| ParseQueryString(String) |
Analisa uma cadeia de consulta num NameValueCollection usando UTF8 codificação. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UrlDecode(Byte[], Encoding) |
Converte um array de bytes codificado por URL numa string decodificada usando o objeto de decodificação especificado. |
| UrlDecode(Byte[], Int32, Int32, Encoding) |
Converte um array de bytes codificado por URL numa string decodificada usando o objeto de codificação especificado, começando na posição especificada no array e continuando pelo número especificado de bytes. |
| UrlDecode(String, Encoding) |
Converte uma cadeia codificada por URL numa cadeia decodificada, usando o objeto de codificação especificado. |
| UrlDecode(String) |
Converte uma cadeia que foi codificada para transmissão numa URL numa cadeia decodificada. |
| UrlDecodeToBytes(Byte[], Int32, Int32) |
Converte um array codificado por URL de bytes num array decodificado de bytes, começando na posição especificada no array e continuando pelo número especificado de bytes. |
| UrlDecodeToBytes(Byte[]) |
Converte um array codificado por URL de bytes num array decodificado de bytes. |
| UrlDecodeToBytes(String, Encoding) |
Converte uma string codificada por URL num array decodificado de bytes usando o objeto de decodificação especificado. |
| UrlDecodeToBytes(String) |
Converte uma cadeia codificada em URL num array decodificado de bytes. |
| UrlEncode(Byte[], Int32, Int32) |
Converte um array de bytes numa string codificada por URL, começando na posição especificada no array e continuando pelo número especificado de bytes. |
| UrlEncode(Byte[]) |
Converte um array de bytes numa cadeia de URL codificada. |
| UrlEncode(String, Encoding) |
Codifica uma cadeia de URL usando o objeto de codificação especificado. |
| UrlEncode(String) |
Codifica uma cadeia de URL. |
| UrlEncodeToBytes(Byte[], Int32, Int32) |
Converte um array de bytes num array codificado por URL de bytes, começando na posição especificada no array e continuando pelo número especificado de bytes. |
| UrlEncodeToBytes(Byte[]) |
Converte um array de bytes num array de bytes codificado por URL. |
| UrlEncodeToBytes(String, Encoding) |
Converte uma string num array codificado por URL de bytes usando o objeto de codificação especificado. |
| UrlEncodeToBytes(String) |
Converte uma string num array de bytes codificado por URL. |
| UrlEncodeUnicode(String) |
Obsoleto.
Converte uma string numa string Unicode. |
| UrlEncodeUnicodeToBytes(String) |
Obsoleto.
Converte uma string Unicode num array de bytes. |
| UrlPathEncode(String) |
Não usar; destinado apenas à compatibilidade do navegador. Utilize UrlEncode(String). |