Compartilhar via


HttpListenerRequest Classe

Definição

Descreve uma solicitação HTTP de entrada a um objeto HttpListener. 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 , o HttpListener fornece um HttpListenerContext objeto que contém informações sobre o remetente, a solicitação e a resposta 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

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 do conteúdo que pode ser usado com os dados enviados com a solicitação.

ContentLength64

Obtém o comprimento do corpo de dados incluído na solicitação.

ContentType

Obtém o tipo MIME do corpo de dados incluído na solicitação.

Cookies

Obtém os cookies enviados com a solicitação.

HasEntityBody

Obtém um valor Boolean que indica se a solicitação tem um corpo de dados associado.

Headers

Obtém a coleção de pares de nome/valor do cabeçalho enviado 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 valor Boolean que indica se o cliente enviando essa solicitação está autenticado.

IsLocal

Obtém um valor Boolean que indica se a solicitação foi enviada do computador local.

IsSecureConnection

Obtém um valor Boolean que indica se a conexão TCP usada para enviar a solicitação está usando o protocolo SSL.

IsWebSocketRequest

Obtém um Boolean valor que indica se a conexão TCP era uma solicitação WebSocket.

KeepAlive

Obtém um valor Boolean que indica se o cliente solicita uma conexão persistente.

LocalEndPoint

Obtém o endereço IP e número da porta do servidor 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 e o número da porta do cliente que originou a solicitação.

RequestTraceIdentifier

Obtém o identificador da solicitação HTTP de entrada.

ServiceName

Obtém o SPN (nome do provedor de serviços) que o cliente enviou na solicitação.

TransportContext

Obtém o TransportContext da solicitação do cliente.

Url

Obtém o objeto Uri 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 do usuário apresentado pelo cliente.

UserHostAddress

Obtém o endereço IP e número da porta do servidor 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 preferenciais para a resposta.

Métodos

BeginGetClientCertificate(AsyncCallback, Object)

Inicia uma solicitação assíncrona para o certificado X.509 v.3 do cliente.

EndGetClientCertificate(IAsyncResult)

Termina 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 Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também