HttpListenerRequest Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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) |