HttpListenerRequest Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Descreve uma solicitação HTTP de entrada para um HttpListener objeto. Essa 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 a seguir 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
Comentários
Quando um cliente faz uma solicitação para um URI (Uniform Resource Identifier) manipulado por um HttpListener objeto, ele HttpListener fornece um HttpListenerContext objeto que contém informações sobre o remetente, a solicitação e a resposta que é enviada ao cliente. A HttpListenerContext.Request propriedade retorna o HttpListenerRequest objeto que descreve a solicitação.
O HttpListenerRequest objeto contém informações sobre a solicitação, como a cadeia de caracteres de solicitação HttpMethod , UserAgent a cadeia de caracteres e os dados do corpo da solicitação (consulte a InputStream propriedade).
Para responder à solicitação, você deve obter a resposta associada usando a Response propriedade.
Propriedades
| Nome | Description |
|---|---|
| AcceptTypes |
Obtém os tipos MIME aceitos pelo cliente. |
| ClientCertificateError |
Obtém um código de erro que identifica um problema com o X509Certificate fornecido pelo cliente. |
| ContentEncoding |
Obtém a codificação de conteúdo que pode ser usada com os dados enviados com a solicitação. |
| ContentLength64 |
Obtém o comprimento dos dados do corpo incluídos na solicitação. |
| ContentType |
Obtém o tipo MIME dos dados do corpo incluídos na solicitação. |
| Cookies |
Obtém os cookies enviados com a solicitação. |
| HasEntityBody |
Obtém um Boolean valor que indica se a solicitação tem dados do corpo associados. |
| Headers |
Obtém a coleção de pares nome/valor de cabeçalho enviados na solicitação. |
| HttpMethod |
Obtém o método HTTP especificado pelo cliente. |
| InputStream |
Obtém um fluxo que contém os dados do corpo enviados pelo cliente. |
| IsAuthenticated |
Obtém um Boolean valor que indica se o cliente que está enviando essa solicitação é autenticado. |
| IsLocal |
Obtém um Boolean valor que indica se a solicitação é enviada do computador local. |
| IsSecureConnection |
Obtém um Boolean valor que indica se a conexão TCP usada para enviar a solicitação está usando o protocolo SSL (Secure Sockets Layer). |
| IsWebSocketRequest |
Obtém um Boolean valor que indica se a conexão TCP foi uma solicitação WebSocket. |
| KeepAlive |
Obtém um Boolean valor que indica se o cliente solicita uma conexão persistente. |
| LocalEndPoint |
Obtém o endereço IP do servidor e o número da porta para o qual a solicitação é direcionada. |
| ProtocolVersion |
Obtém a versão HTTP usada pelo cliente solicitante. |
| QueryString |
Obtém a cadeia de caracteres de consulta incluída na solicitação. |
| RawUrl |
Obtém as informações de URL (sem o host e a porta) solicitadas pelo cliente. |
| RemoteEndPoint |
Obtém o endereço IP do cliente e o número da porta do qual a solicitação se originou. |
| RequestTraceIdentifier |
Obtém o identificador de solicitação da solicitação HTTP de entrada. |
| ServiceName |
Obtém o SPN (Nome do Provedor de Serviço) que o cliente enviou na solicitação. |
| TransportContext |
Obtém a TransportContext solicitação do cliente. |
| Url |
Obtém o Uri objeto solicitado pelo cliente. |
| UrlReferrer |
Obtém o URI (Uniform Resource Identifier) do recurso que encaminhou o cliente para o servidor. |
| UserAgent |
Obtém o agente de usuário apresentado pelo cliente. |
| UserHostAddress |
Obtém o endereço IP do servidor e o número da porta para o qual a solicitação é direcionada. |
| UserHostName |
Obtém o nome DNS e, se fornecido, o número da porta especificado pelo cliente. |
| UserLanguages |
Obtém os idiomas naturais que são preferenciais para a resposta. |
Métodos
| Nome | Description |
|---|---|
| BeginGetClientCertificate(AsyncCallback, Object) |
Inicia uma solicitação assíncrona para o certificado X.509 v.3 do cliente. |
| EndGetClientCertificate(IAsyncResult) |
Encerra uma solicitação assíncrona 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 a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |