Cette documentation est archivée et n’est pas conservée.

HttpWebRequest, classe

Fournit une implémentation propre à HTTP de la classe WebRequest.

Espace de noms : System.Net
Assembly : System (dans system.dll)

[SerializableAttribute] 
public class HttpWebRequest : WebRequest, ISerializable
/** @attribute SerializableAttribute() */ 
public class HttpWebRequest extends WebRequest implements ISerializable
SerializableAttribute 
public class HttpWebRequest extends WebRequest implements ISerializable

La classe HttpWebRequest fournit la prise en charge des propriétés et méthodes définies dans WebRequest, ainsi que des propriétés et méthodes supplémentaires permettant à l'utilisateur d'interagir directement avec les serveurs à l'aide de HTTP.

N'utilisez pas le constructeur HttpWebRequest. Utilisez la méthode System.Net.WebRequest.Create pour initialiser de nouveaux objets HttpWebRequest. Si le modèle de l'URI (Uniform Resource Identifier) est http:// ou https://, Createretourne un objet HttpWebRequest.

La méthode GetResponse lance une demande synchrone à la ressource spécifiée dans la propriété RequestUri et retourne un HttpWebResponse contenant la réponse. Vous pouvez lancer une demande asynchrone de la ressource à l'aide des méthodes BeginGetResponse et EndGetResponse.

Si vous souhaitez envoyer des données à la ressource, la méthode GetRequestStream retourne un objet Stream à utiliser à cet effet. Les méthodes BeginGetRequestStream et EndGetRequestStream fournissent un accès asynchrone au flux des données d'envoi.

Pour l'authentification d'un client à l'aide de HttpWebRequest, le certificat client doit être installé dans le répertoire Magasin de certificats My de l'utilisateur en cours.

La classe HttpWebRequest lève WebException lorsque des erreurs se produisent pendant l'accès à une ressource. La propriété WebException.Status contient une valeur WebExceptionStatus qui indique la source de l'erreur. Si WebException.Status est WebExceptionStatus.ProtocolError, la propriété Response contient le HttpWebResponse reçu de la ressource.

HttpWebRequest expose des valeurs d'en-tête HTTP courantes envoyées à la ressource Internet en tant que propriétés, définies par des méthodes ou par le système. Le tableau suivant contient la liste complète de ces en-têtes. Vous pouvez définir d'autres en-têtes dans la propriété Headers sous la forme de paires nom/valeur. Notez que les serveurs et les caches peuvent modifier ou ajouter des en-têtes pendant la demande.

Le tableau suivant énumère les en-têtes HTTP définis par des propriétés, par des méthodes ou par le système.

En-tête

Défini par

Accept

Défini par la propriété Accept.

Connection

Défini par la propriété Connection ou par la propriété KeepAlive.

Content-Length

Défini par la propriété ContentLength.

Content-Type

Défini par la propriété ContentType.

Expect

Défini par la propriété Expect.

Date

Défini par le système pour indiquer la date actuelle.

Host

Défini par le système pour indiquer les informations actuelles sur l'hôte.

If-Modified-Since

Défini par la propriété IfModifiedSince.

Range

Défini par la méthode AddRange.

Referer

Défini par la propriété Referer.

Transfer-Encoding

Défini par la propriété TransferEncoding (la propriété SendChunked doit avoir la valeur true).

User-Agent

Défini par la propriété UserAgent.

RemarqueRemarque

HttpWebRequest est inscrit automatiquement. Il est inutile d'appeler la méthode RegisterPrefix pour inscrire System.Net.HttpWebRequest avant d'utiliser des URI commençant par http:// ou https://.

Si la configuration de l'ordinateur local indique qu'un proxy est utilisé, ou si la demande spécifie un proxy, la demande est envoyée à l'aide du proxy. Si aucun proxy n'est spécifié, la demande est envoyée au serveur.

RemarqueRemarque

Le Framework met les sessions SSL en cache au fur et à mesure de leur création et tente, dans la mesure du possible, de réutiliser une session mise en cache pour une nouvelle demande. Lorsque vous tentez de réutiliser une session SSL, le Framework utilise le premier élément de ClientCertificates (s'il en existe un), ou essaie de réutiliser une session anonyme si ClientCertificates est vide.

RemarqueRemarque

Pour des raisons de sécurité, les cookies sont désactivés par défaut. Si vous souhaitez employer les cookies, utilisez la propriété CookieContainer pour les activer.

L'exemple de code suivant crée HttpWebRequest pour l'URI http://www.contoso.com/.


HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");


HttpWebRequest myReq =
    ((HttpWebRequest)(WebRequest.Create("http://www.contoso.com/")));


var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("http://www.contoso.com/"))


  • WebPermission  pour accéder à l'URI demandé ou à tout URI vers lequel la demande est redirigée. Énumération associée : Connect

System.Object
   System.MarshalByRefObject
     System.Net.WebRequest
      System.Net.HttpWebRequest

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Afficher: