HttpListenerRequest 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.
Descreve um pedido HTTP recebido para um HttpListener objeto. Esta classe não pode ser herdada.
public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
- Herança
-
HttpListenerRequest
Exemplos
O exemplo de código seguinte demonstra como receber e responder a um HttpListenerRequest.
// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
if (!HttpListener.IsSupported)
{
Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
return;
}
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");
// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
foreach (string s in prefixes)
{
listener.Prefixes.Add(s);
}
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
// You must close the output stream.
output.Close();
listener.Stop();
}
Public Shared Sub SimpleListenerExample(prefixes As String())
If Not HttpListener.IsSupported Then
Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.")
Return
End If
' URI prefixes are required,
' for example "http://contoso.com:8080/index/".
If prefixes Is Nothing Or prefixes.Length = 0 Then
Throw New ArgumentException("prefixes")
End If
' Create a listener
Dim listener = New HttpListener()
For Each s As String In prefixes
listener.Prefixes.Add(s)
Next
listener.Start()
Console.WriteLine("Listening...")
' Note: The GetContext method blocks while waiting for a request.
Dim context As HttpListenerContext = listener.GetContext()
Console.WriteLine("Listening...")
' Obtain a response object
Dim request As HttpListenerRequest = context.Request
' Construct a response.
Dim response As HttpListenerResponse = context.Response
Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
' Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length
Dim output As System.IO.Stream = response.OutputStream
output.Write(buffer, 0, buffer.Length)
'You must close the output stream.
output.Close()
listener.Stop()
End Sub
Observações
Quando um cliente faz um pedido a um Identificador Uniforme de Recursos (URI) tratado por um HttpListener objeto, fornece HttpListener um HttpListenerContext objeto que contém informações sobre o remetente, o pedido e a resposta enviada ao cliente. A HttpListenerContext.Request propriedade devolve o HttpListenerRequest objeto que descreve o pedido.
O HttpListenerRequest objeto contém informações sobre o pedido, como a cadeia de caracteres HttpMethod , UserAgent a cadeia e os dados do corpo do pedido (ver a InputStream propriedade).
Para responder ao pedido, deve obter a resposta associada através da Response propriedade.
Propriedades
| Name | Description |
|---|---|
| AcceptTypes |
Faz com que os tipos MIME sejam aceites pelo cliente. |
| ClientCertificateError |
Recebe um código de erro que identifica um problema X509Certificate fornecido pelo cliente. |
| ContentEncoding |
Obtém a codificação de conteúdo que pode ser usada com os dados enviados com o pedido. |
| ContentLength64 |
Obtém o comprimento dos dados do corpo incluídos no pedido. |
| ContentType |
Obtém o tipo MIME dos dados corporais incluídos no pedido. |
| Cookies |
Recebe as bolachas com o pedido. |
| HasEntityBody |
Recebe um Boolean valor que indica se o pedido tem dados de corpo associados. |
| Headers |
Recebe a coleção de pares nome/valor do cabeçalho enviada no pedido. |
| HttpMethod |
Recebe o método HTTP especificado pelo cliente. |
| InputStream |
Recebe um fluxo que contém os dados do corpo enviados pelo cliente. |
| IsAuthenticated |
Recebe um Boolean valor que indica se o cliente que envia este pedido está autenticado. |
| IsLocal |
Recebe um Boolean valor que indica se o pedido é enviado pelo computador local. |
| IsSecureConnection |
Recebe um Boolean valor que indica se a ligação TCP usada para enviar o pedido está a usar o protocolo Secure Sockets Layer (SSL). |
| IsWebSocketRequest |
Recebe um Boolean valor que indica se a ligação TCP foi um pedido WebSocket. |
| KeepAlive |
Recebe um Boolean valor que indica se o cliente solicita uma ligação persistente. |
| LocalEndPoint |
Obtém o endereço IP do servidor e o número de porta para onde o pedido é dirigido. |
| ProtocolVersion |
Recebe a versão HTTP usada pelo cliente solicitante. |
| QueryString |
Recebe a string de consulta incluída no pedido. |
| RawUrl |
Recebe a informação do URL (sem o host e a porta) solicitada pelo cliente. |
| RemoteEndPoint |
Obtém o endereço IP do cliente e o número de porta de onde o pedido se originou. |
| RequestTraceIdentifier |
Obtém o identificador do pedido HTTP recebido. |
| ServiceName |
Obtém o Nome do Prestador de Serviço (SPN) que o cliente enviou no pedido. |
| TransportContext |
Recebe o TransportContext pedido do cliente. |
| Url |
Recebe o Uri objeto solicitado pelo cliente. |
| UrlReferrer |
Obtém o Identificador Uniforme de Recursos (URI) do recurso que encaminhou o cliente para o servidor. |
| UserAgent |
Recebe o user agent apresentado pelo cliente. |
| UserHostAddress |
Obtém o endereço IP do servidor e o número de porta para onde o pedido é dirigido. |
| UserHostName |
Obtém o nome DNS e, se fornecido, o número de porta especificado pelo cliente. |
| UserLanguages |
Obtém as línguas naturais preferidas para a resposta. |
Métodos
| Name | Description |
|---|---|
| BeginGetClientCertificate(AsyncCallback, Object) |
Inicia um pedido assíncrono para o certificado X.509 v.3 do cliente. |
| EndGetClientCertificate(IAsyncResult) |
Termina um pedido assíncrono para o certificado X.509 v.3 do cliente. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetClientCertificate() |
Recupera o certificado X.509 v.3 do cliente. |
| GetClientCertificateAsync() |
Recupera o certificado X.509 v.3 do cliente como uma operação assíncrona. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |