Lire en anglais

Partager via


HttpListenerRequest Classe

Définition

Décrit une demande HTTP entrante d'un objet HttpListener. Cette classe ne peut pas être héritée.

public sealed 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();
}

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)

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Voir aussi