Compartir a través de


HttpListenerRequest Clase

Definición

Describe una solicitud HTTP de entrada a un objeto HttpListener. Esta clase no puede heredarse.

public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
Herencia
HttpListenerRequest

Ejemplos

En el ejemplo de código siguiente se muestra cómo recibir y responder a .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

Comentarios

Cuando un cliente realiza una solicitud a un identificador uniforme de recursos (URI) controlado por un HttpListener objeto , HttpListener proporciona un HttpListenerContext objeto que contiene información sobre el remitente, la solicitud y la respuesta que se envía al cliente. La HttpListenerContext.Request propiedad devuelve el HttpListenerRequest objeto que describe la solicitud.

El HttpListenerRequest objeto contiene información sobre la solicitud, como la cadena de solicitud, UserAgent la cadena y los datos del cuerpo de la solicitud HttpMethod (vea la InputStream propiedad ).

Para responder a la solicitud, debe obtener la respuesta asociada mediante la Response propiedad .

Propiedades

AcceptTypes

Obtiene los tipos MIME aceptados por el cliente.

ClientCertificateError

Obtiene un código de error que identifica un problema con el objeto X509Certificate proporcionado por el cliente.

ContentEncoding

Obtiene la codificación de contenido que se puede usar con los datos enviados con la solicitud.

ContentLength64

Obtiene la longitud de los datos de cuerpo incluidos en la solicitud.

ContentType

Obtiene el tipo MIME de los datos del cuerpo incluidos en la solicitud.

Cookies

Obtiene las cookies enviadas con la solicitud.

HasEntityBody

Obtiene un valor Boolean que indica si la solicitud tiene asociados datos de cuerpo.

Headers

Obtiene la colección de pares nombre de encabezado/valor enviados en la solicitud.

HttpMethod

Obtiene el método HTTP especificado por el cliente.

InputStream

Obtiene una secuencia que contiene los datos del cuerpo enviados por el cliente.

IsAuthenticated

Obtiene un valor Boolean que indica si el cliente que envía esta solicitud está autenticado.

IsLocal

Obtiene un valor Boolean que indica si la solicitud se envía desde el equipo local.

IsSecureConnection

Obtiene un valor Boolean que indica si la conexión TCP utilizada para enviar la solicitud está utilizando el protocolo Secure Sockets Layer (SSL).

IsWebSocketRequest

Obtiene un Boolean valor que indica si la conexión TCP era una solicitud WebSocket.

KeepAlive

Obtiene un valor Boolean que indica si el cliente solicita una conexión persistente.

LocalEndPoint

Obtiene la dirección IP y el número de puerto del servidor a los que se dirige la solicitud.

ProtocolVersion

Obtiene la versión de HTTP utilizada por el cliente que hace la solicitud.

QueryString

Obtiene la cadena de consulta incluida en la solicitud.

RawUrl

Obtiene la información de la dirección URL (sin el host y el puerto) solicitada por el cliente.

RemoteEndPoint

Obtiene la dirección IP y el número de puerto de cliente desde los que se originó la solicitud.

RequestTraceIdentifier

Obtiene el identificador de la solicitud HTTP de entrada.

ServiceName

Obtiene el nombre del proveedor de servicios (SPN) que el cliente envió en la solicitud.

TransportContext

Obtiene el objeto TransportContext de la solicitud de cliente.

Url

Obtiene el objeto Uri solicitado por el cliente.

UrlReferrer

Obtiene el identificador URI del recurso que remitió el cliente al servidor.

UserAgent

Obtiene el agente de usuario presentado por el cliente.

UserHostAddress

Obtiene la dirección IP y el número de puerto del servidor a los que se dirige la solicitud.

UserHostName

Obtiene el nombre DNS y, si se proporciona, el número de puerto especificado por el cliente.

UserLanguages

Obtiene los idiomas naturales preferidos para la respuesta.

Métodos

BeginGetClientCertificate(AsyncCallback, Object)

Inicia una solicitud asincrónica para el certificado X.509 v.3 del cliente.

EndGetClientCertificate(IAsyncResult)

Finaliza una solicitud asincrónica para el certificado X.509 v.3 del cliente.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetClientCertificate()

Recupera el certificado X.509 v.3 del cliente.

GetClientCertificateAsync()

Recupera el certificado de X.509 v.3 del cliente como una operación asincrónica.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también