HttpListenerRequest Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Décrit une requête HTTP entrante vers un HttpListener objet. Cette classe ne peut pas être héritée.
public ref class HttpListenerRequest sealed
public sealed class HttpListenerRequest
type HttpListenerRequest = class
Public NotInheritable Class HttpListenerRequest
- Héritage
-
HttpListenerRequest
Exemples
L’exemple de code suivant montre comment recevoir et répondre à un 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
Remarques
Lorsqu’un client envoie une requête à un URI géré par un HttpListener objet, il HttpListener fournit un HttpListenerContext objet qui contient des informations sur l’expéditeur, la requête et la réponse envoyée au client. La HttpListenerContext.Request propriété retourne l’objet HttpListenerRequest qui décrit la requête.
L’objet HttpListenerRequest contient des informations sur la requête, telles que la chaîne de requête, UserAgent la chaîne et les données du corps de la requête HttpMethod (voir la InputStream propriété).
Pour répondre à la demande, vous devez obtenir la réponse associée à l’aide de la Response propriété.
Propriétés
| Nom | Description |
|---|---|
| AcceptTypes |
Obtient les types MIME acceptés par le client. |
| ClientCertificateError |
Obtient un code d’erreur qui identifie un problème avec le X509Certificate client fourni. |
| ContentEncoding |
Obtient l’encodage de contenu qui peut être utilisé avec les données envoyées avec la requête. |
| ContentLength64 |
Obtient la longueur des données du corps incluses dans la requête. |
| ContentType |
Obtient le type MIME des données de corps incluses dans la requête. |
| Cookies |
Obtient les cookies envoyés avec la demande. |
| HasEntityBody |
Obtient une Boolean valeur qui indique si la requête a des données de corps associées. |
| Headers |
Obtient la collection de paires nom/valeur d’en-tête envoyées dans la requête. |
| HttpMethod |
Obtient la méthode HTTP spécifiée par le client. |
| InputStream |
Obtient un flux qui contient les données du corps envoyées par le client. |
| IsAuthenticated |
Obtient une Boolean valeur qui indique si le client envoyant cette demande est authentifié. |
| IsLocal |
Obtient une Boolean valeur qui indique si la requête est envoyée à partir de l’ordinateur local. |
| IsSecureConnection |
Obtient une Boolean valeur qui indique si la connexion TCP utilisée pour envoyer la requête utilise le protocole SSL (Secure Sockets Layer). |
| IsWebSocketRequest |
Obtient une Boolean valeur qui indique si la connexion TCP était une requête WebSocket. |
| KeepAlive |
Obtient une Boolean valeur qui indique si le client demande une connexion persistante. |
| LocalEndPoint |
Obtient l’adresse IP du serveur et le numéro de port vers lequel la requête est dirigée. |
| ProtocolVersion |
Obtient la version HTTP utilisée par le client demandeur. |
| QueryString |
Obtient la chaîne de requête incluse dans la requête. |
| RawUrl |
Obtient les informations d’URL (sans l’hôte et le port) demandées par le client. |
| RemoteEndPoint |
Obtient l’adresse IP cliente et le numéro de port à partir desquels la requête provient. |
| RequestTraceIdentifier |
Obtient l’identificateur de requête de la requête HTTP entrante. |
| ServiceName |
Obtient le nom du fournisseur de services (SPN) envoyé par le client à la demande. |
| TransportContext |
Obtient la TransportContext requête du client. |
| Url |
Obtient l’objet Uri demandé par le client. |
| UrlReferrer |
Obtient l’URI (Uniform Resource Identifier) de la ressource qui a fait référence au client au serveur. |
| UserAgent |
Obtient l’agent utilisateur présenté par le client. |
| UserHostAddress |
Obtient l’adresse IP du serveur et le numéro de port vers lequel la requête est dirigée. |
| UserHostName |
Obtient le nom DNS et, s’il est fourni, le numéro de port spécifié par le client. |
| UserLanguages |
Obtient les langages naturels préférés pour la réponse. |
Méthodes
| Nom | Description |
|---|---|
| BeginGetClientCertificate(AsyncCallback, Object) |
Commence une demande asynchrone pour le certificat X.509 v.3 du client. |
| EndGetClientCertificate(IAsyncResult) |
Termine une demande asynchrone pour le certificat X.509 v.3 du client. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetClientCertificate() |
Récupère le certificat X.509 v.3 du client. |
| GetClientCertificateAsync() |
Récupère le certificat X.509 v.3 du client en tant qu’opération asynchrone. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |