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 demande HTTP entrante d'un objet HttpListener. 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 effectue une demande à un URI (Uniform Resource Identifier) géré par un HttpListener objet, le HttpListener fournit un objet qui contient des HttpListenerContext informations sur l’expéditeur, la demande et la réponse envoyée au client. La HttpListenerContext.Request propriété retourne l’objet HttpListenerRequest qui décrit la demande.
L’objet HttpListenerRequest contient des informations sur la requête, telles que la chaîne de requête HttpMethod , UserAgent la chaîne et les données du corps de la requête (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
AcceptTypes |
Obtient les types MIME acceptés par le client. |
ClientCertificateError |
Obtient un code d'erreur qui identifie un problème avec le X509Certificate fourni par le client. |
ContentEncoding |
Obtient l’encodage du contenu qui peut être utilisé pour les données envoyées avec la demande. |
ContentLength64 |
Obtient la longueur des données relatives au corps incluse dans la demande. |
ContentType |
Obtient le type MIME des données relatives au corps compris dans la demande. |
Cookies |
Obtient les cookies envoyés avec la demande. |
HasEntityBody |
Obtient une valeur Boolean qui indique si la demande possède des données relatives au corps associées. |
Headers |
Obtient la collection de paires nom/valeur d'en-tête envoyées dans la demande. |
HttpMethod |
Obtient la méthode HTTP spécifiée par le client. |
InputStream |
Obtient un flux contenant les données relatives au corps envoyées par le client. |
IsAuthenticated |
Obtient une valeur Boolean qui indique si le client qui envoie cette demande est authentifié. |
IsLocal |
Obtient une valeur Boolean indiquant si la demande est envoyée par l'ordinateur local. |
IsSecureConnection |
Obtient une valeur Boolean indiquant si la connexion TCP utilisée pour envoyer la demande 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 valeur Boolean qui indique si le client exige une connexion persistante. |
LocalEndPoint |
Obtient l'adresse IP et le numéro de port du serveur vers lequel la demande 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 demande. |
RawUrl |
Obtient les informations d'URL (sans l'hôte et le port) demandées par le client. |
RemoteEndPoint |
Obtient l'adresse IP et le numéro de port du client à l'origine de la demande. |
RequestTraceIdentifier |
Obtient l'identificateur de la demande HTTP entrante. |
ServiceName |
Obtient le nom du fournisseur de services (SPN) que le client a envoyé sur la requête. |
TransportContext |
Obtient le TransportContext de la requête client. |
Url |
Obtient l'objet Uri demandé par le client. |
UrlReferrer |
Obtient l'URI (Uniform Resource Identifier) de la ressource qui a signalé le client au serveur. |
UserAgent |
Obtient l'agent utilisateur (user agent) présenté par le client. |
UserHostAddress |
Obtient l'adresse IP et le numéro de port du serveur vers lequel la demande 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
BeginGetClientCertificate(AsyncCallback, Object) |
Commence une demande asynchrone du certificat X.509 v.3 du client. |
EndGetClientCertificate(IAsyncResult) |
Met fin à une demande asynchrone du 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 comme une opération asynchrone. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |