HttpWebRequest 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.
Fournit une implémentation propre à HTTP de la classe WebRequest.
public ref class HttpWebRequest : System::Net::WebRequest
public ref class HttpWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public class HttpWebRequest : System.Net.WebRequest
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
type HttpWebRequest = class
inherit WebRequest
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
[<System.Serializable>]
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
Public Class HttpWebRequest
Inherits WebRequest
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
- Héritage
- Héritage
- Attributs
- Implémente
Exemples
L’exemple de code suivant crée un HttpWebRequest pour l’URI http://www.contoso.com/
.
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
Remarques
Important
Nous vous recommandons de ne pas utiliser HttpWebRequest
pour le nouveau développement. Utilisez plutôt la System.Net.Http.HttpClient classe .
La HttpWebRequest classe prend en charge les propriétés et les méthodes définies dans WebRequest et pour les propriétés et méthodes supplémentaires qui permettent à l’utilisateur d’interagir directement avec les serveurs à l’aide de HTTP.
N’utilisez pas le HttpWebRequest constructeur. Utilisez la WebRequest.Create méthode pour initialiser de nouveaux HttpWebRequest objets. Si le schéma de l’URI (Uniform Resource Identifier) est http://
ou https://
, Create retourne un HttpWebRequest objet.
La GetResponse méthode effectue une requête synchrone à la ressource spécifiée dans la RequestUri propriété et retourne une HttpWebResponse qui contient l’objet de réponse. Les données de réponse peuvent être reçues à l’aide du flux retourné par GetResponseStream. Si l’objet de réponse ou le flux de réponse est fermé, les données restantes seront perdues. Les données restantes seront vidées et le socket sera réutilisé pour les demandes suivantes lors de la fermeture de l’objet ou du flux de réponse si les conditions suivantes sont remplies : il s’agit d’une demande de conservation ou de pipeline, seule une petite quantité de données doit être reçue ou les données restantes sont reçues dans un intervalle de temps réduit. Si aucune des conditions mentionnées ne tient ou si le temps de vidange est dépassé, le socket est fermé. Pour les connexions keep-alive ou pipelined, nous recommandons vivement que l’application lit les flux jusqu’à ce que EOF. Cela garantit que le socket sera réutilisé pour les requêtes suivantes, ce qui entraîne de meilleures performances et moins de ressources utilisées.
Lorsque vous souhaitez envoyer des données à la ressource, la GetRequestStream méthode retourne un Stream objet à utiliser pour envoyer des données. Les BeginGetRequestStream méthodes et EndGetRequestStream fournissent un accès asynchrone au flux de données d’envoi.
Pour l’authentification client avec HttpWebRequest, le certificat client doit être installé dans le magasin de certificats My de l’utilisateur actuel.
La HttpWebRequest classe lève un WebException lorsque des erreurs se produisent lors de l’accès à une ressource. La WebException.Status propriété contient une WebExceptionStatus valeur qui indique la source de l’erreur. Quand WebException.Status a la valeur WebExceptionStatus.ProtocolError, la Response propriété contient le HttpWebResponse reçu de la ressource.
HttpWebRequest expose les valeurs d’en-tête HTTP courantes envoyées à la ressource Internet sous forme de propriétés, définies par des méthodes ou définies par le système ; le tableau suivant contient une liste complète. Vous pouvez définir d’autres en-têtes dans la Headers propriété en tant que paires nom/valeur. Notez que les serveurs et les caches peuvent changer ou ajouter des en-têtes pendant la demande.
Le tableau suivant répertorie les en-têtes HTTP qui sont définis par des propriétés ou des méthodes ou par le système.
En-tête | Défini par |
---|---|
Accept |
Défini par la Accept propriété . |
Connection |
Défini par la Connection propriété, KeepAlive propriété . |
Content-Length |
Défini par la ContentLength propriété . |
Content-Type |
Défini par la ContentType propriété . |
Expect |
Défini par la Expect propriété . |
Date |
Défini par le système sur la date actuelle. |
Host |
Défini par le système sur les informations actuelles sur l’hôte. |
If-Modified-Since |
Défini par la IfModifiedSince propriété . |
Range |
Défini par la AddRange méthode . |
Referer |
Défini par la Referer propriété . |
Transfer-Encoding |
Définie par la TransferEncoding propriété (la SendChunked propriété doit être true ). |
User-Agent |
Défini par la UserAgent propriété . |
Notes
HttpWebRequest est inscrit automatiquement. Vous n’avez pas besoin d’appeler la RegisterPrefix méthode pour s’inscrire System.Net.HttpWebRequest avant d’utiliser des URI commençant par http://
ou https://
.
L’ordinateur local ou le fichier de configuration de l’application peut spécifier qu’un proxy par défaut doit être utilisé. Si la Proxy propriété est spécifiée, les paramètres de proxy de la Proxy propriété remplacent l’ordinateur local ou le fichier de configuration de l’application et l’instance HttpWebRequest utilisera les paramètres de proxy spécifiés. Si aucun proxy n’est spécifié dans un fichier de configuration et que la Proxy propriété n’est pas spécifiée, la HttpWebRequest classe utilise les paramètres de proxy hérités des options Internet sur l’ordinateur local. S’il n’existe aucun paramètre proxy dans les options Internet, la demande est envoyée directement au serveur.
Notes
L’infrastructure met en cache les sessions SSL à mesure qu’elles sont créées et tente de réutiliser une session mise en cache pour une nouvelle requête, si possible. Lors de la tentative de réutilisation d’une session SSL, l’infrastructure utilise le premier élément de ClientCertificates (le cas échéant), ou tente de réutiliser une session anonyme si ClientCertificates est vide.
Notes
Pour des raisons de sécurité, les cookies sont désactivés par défaut. Si vous souhaitez utiliser des cookies, utilisez la CookieContainer propriété pour activer les cookies.
.NET Framework 4.6 inclut une nouvelle fonctionnalité de sécurité qui bloque les algorithmes de chiffrement et de hachage non sécurisés pour les connexions. Les applications utilisant TLS/SSL via des API telles que HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream, etc. et ciblant .NET Framework 4.6 obtiennent le comportement plus sécurisé par défaut.
Les développeurs peuvent choisir de refuser ce comportement afin de maintenir l’interopérabilité avec leurs services SSL3 existants OU TLS avec les services RC4. Cet article explique comment modifier votre code afin que le nouveau comportement soit désactivé.
Constructeurs
HttpWebRequest() |
Obsolète.
Obsolète.
Initialise une nouvelle instance de la classe HttpWebRequest. Ce constructeur est obsolète. |
HttpWebRequest(SerializationInfo, StreamingContext) |
Obsolète.
Obsolète.
Obsolète.
Obsolète.
Initialise une nouvelle instance de la classe HttpWebRequest à partir des instances spécifiées des classes SerializationInfo et StreamingContext. Ce constructeur est obsolète. |
Propriétés
Accept |
Obtient ou définit la valeur de l’en-tête HTTP |
Address |
Obtient l'URI (Uniform Resource Identifier) de la ressource Internet qui répond réellement à la requête. |
AllowAutoRedirect |
Obtient ou définit une valeur qui indique si la requête doit suivre les réponses de redirection. |
AllowReadStreamBuffering |
Obtient ou définit une valeur indiquant si les données reçues à partir de la ressource Internet doivent être mises en mémoire tampon. |
AllowWriteStreamBuffering |
Obtient ou définit une valeur indiquant si les données envoyées à la ressource Internet doivent être mises en mémoire tampon. |
AuthenticationLevel |
Obtient ou définit des valeurs indiquant les niveaux d'authentification et d'emprunt d'identité utilisés pour cette demande. (Hérité de WebRequest) |
AutomaticDecompression |
Obtient ou définit le type de décompression utilisé. |
CachePolicy |
Obtient ou définit la stratégie de cache de cette demande. (Hérité de WebRequest) |
ClientCertificates |
Obtient ou définit la collection de certificats de sécurité qui sont associés à cette requête. |
Connection |
Obtient ou définit la valeur de l’en-tête HTTP |
ConnectionGroupName |
Obtient ou définit le nom du groupe de connexions pour la requête. |
ConnectionGroupName |
En cas de substitution dans une classe descendante, obtient ou définit le nom du groupe de connexions pour la demande. (Hérité de WebRequest) |
ContentLength |
Obtient ou définit l’en-tête HTTP |
ContentLength |
En cas de substitution dans une classe descendante, obtient ou définit la longueur des données de demande envoyées. (Hérité de WebRequest) |
ContentType |
Obtient ou définit la valeur de l’en-tête HTTP |
ContinueDelegate |
Obtient ou définit la méthode du délégué qui est appelée lors de la réception d'une réponse HTTP 100-Continue de la ressource Internet. |
ContinueTimeout |
Obtient ou définit un délai d’attente, en millisecondes, jusqu’à réception de la réponse 100-Continue depuis le serveur. |
CookieContainer |
Obtient ou définit les cookies associés à la requête. |
CreatorInstance |
Obsolète.
En cas de remplacement dans une classe descendante, obtient l'objet de fabrique dérivé de la classe IWebRequestCreate utilisé pour créer l'élément WebRequest instancié pour créer la demande à l'URI spécifié. (Hérité de WebRequest) |
Credentials |
Obtient ou définit les informations d'authentification pour la requête. |
Date |
Obtient ou définit la valeur d’en-tête HTTP |
DefaultCachePolicy |
Obtient ou définit la stratégie de cache par défaut de cette demande. |
DefaultMaximumErrorResponseLength |
Obtient ou définit la longueur maximale par défaut d'une réponse d'erreur HTTP. |
DefaultMaximumResponseHeadersLength |
Obtient ou définit la valeur par défaut de la propriété MaximumResponseHeadersLength. |
Expect |
Obtient ou définit la valeur de l’en-tête HTTP |
HaveResponse |
Obtient une valeur indiquant si une réponse a été reçue d'une ressource Internet. |
Headers |
Spécifie une collection de paires nom-valeur qui composent les en-têtes HTTP. |
Host |
Obtient ou définit la valeur d’en-tête Hôte à utiliser dans une requête HTTP indépendante de l’URI de la requête. |
IfModifiedSince |
Obtient ou définit la valeur de l’en-tête HTTP |
ImpersonationLevel |
Obtient ou définit le niveau d'emprunt d'identité pour la demande en cours. (Hérité de WebRequest) |
KeepAlive |
Obtient ou définit une valeur indiquant si une connexion persistante doit être établie avec la ressource Internet. |
MaximumAutomaticRedirections |
Obtient ou définit le nombre maximal de redirections suivies par la requête. |
MaximumResponseHeadersLength |
Obtient ou définit la longueur maximale autorisée des en-têtes de réponse. |
MediaType |
Obtient ou définit le type de média de la requête. |
Method |
Obtient ou définit la méthode pour la requête. |
Pipelined |
Obtient ou définit une valeur indiquant si la requête doit être canalisée en rafale vers la ressource Internet. |
PreAuthenticate |
Obtient ou définit une valeur indiquant si un en-tête d'autorisation doit être envoyé avec la requête. |
PreAuthenticate |
En cas de substitution dans une classe descendante, indique si la demande doit être préalablement authentifiée. (Hérité de WebRequest) |
ProtocolVersion |
Obtient ou définit le nom du serveur proxy à utiliser pour les requêtes. |
Proxy |
Obtient ou définit les informations de proxy pour la requête. |
Proxy |
En cas de substitution dans une classe descendante, obtient ou définit le proxy réseau à utiliser pour accéder à cette ressource Internet. (Hérité de WebRequest) |
ReadWriteTimeout |
Obtient ou définit un délai d'expiration exprimé en millisecondes lors de la lecture ou de l'écriture d'un flux. |
Referer |
Obtient ou définit la valeur de l’en-tête HTTP |
RequestUri |
Obtient l'URI (Uniform Resource Identifier) d'origine de la requête. |
SendChunked |
Obtient ou définit une valeur indiquant si les données doivent être envoyées par segments à la ressource Internet. |
ServerCertificateValidationCallback |
Obtient ou définit une fonction de rappel pour valider le certificat de serveur. |
ServicePoint |
Obtient le point de service à utiliser pour la requête. |
SupportsCookieContainer |
Obtient une valeur qui indique si la requête fournit une prise en charge pour un CookieContainer. |
Timeout |
Obtient ou définit la valeur du délai d’attente exprimée en millisecondes pour les méthodes GetResponse() et GetRequestStream(). |
Timeout |
Obtient ou définit le délai d'expiration des demandes en millisecondes. (Hérité de WebRequest) |
TransferEncoding |
Obtient ou définit la valeur de l’en-tête HTTP |
UnsafeAuthenticatedConnectionSharing |
Obtient ou définit une valeur indiquant si le partage de connexion authentifié NTLM à haut débit est autorisé. |
UseDefaultCredentials |
Obtient ou définit une valeur Boolean qui contrôle si les informations d’identification par défaut sont envoyées avec les requêtes. |
UseDefaultCredentials |
En cas de remplacement dans une classe descendante, obtient ou définit une valeur Boolean qui détermine si les éléments DefaultCredentials sont envoyés avec les demandes. (Hérité de WebRequest) |
UserAgent |
Obtient ou définit la valeur de l’en-tête HTTP |
Méthodes
Abort() |
Annule une requête adressée à une ressource Internet. |
AddRange(Int32) |
Ajoute un en-tête de plage d'octets à une requête d'une plage spécifique à partir du début ou de la fin des données demandées. |
AddRange(Int32, Int32) |
Ajoute un en-tête de plage d'octets à la requête d'une plage spécifiée. |
AddRange(Int64) |
Ajoute un en-tête de plage d'octets à une requête d'une plage spécifique à partir du début ou de la fin des données demandées. |
AddRange(Int64, Int64) |
Ajoute un en-tête de plage d'octets à la requête d'une plage spécifiée. |
AddRange(String, Int32) |
Ajoute un en-tête de plage à une requête pour une plage spécifique à partir du début ou de la fin des données demandées. |
AddRange(String, Int32, Int32) |
Ajoute un en-tête de plage à une requête d'une plage spécifiée. |
AddRange(String, Int64) |
Ajoute un en-tête de plage à une requête pour une plage spécifique à partir du début ou de la fin des données demandées. |
AddRange(String, Int64, Int64) |
Ajoute un en-tête de plage à une requête d'une plage spécifiée. |
BeginGetRequestStream(AsyncCallback, Object) |
Démarre une requête asynchrone pour un objet Stream à utiliser pour écrire des données. |
BeginGetResponse(AsyncCallback, Object) |
Démarre une requête asynchrone adressée à une ressource Internet. |
CreateObjRef(Type) |
Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
EndGetRequestStream(IAsyncResult) |
Termine une requête asynchrone d’un objet Stream à utiliser pour écrire des données. |
EndGetRequestStream(IAsyncResult, TransportContext) |
Termine une requête asynchrone pour un objet Stream à utiliser pour écrire les données et crée une sortie du TransportContext associé au flux. |
EndGetResponse(IAsyncResult) |
Termine une requête asynchrone adressée à une ressource Internet. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Retourne une valeur de hachage pour une instance de WebRequest. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetLifetimeService() |
Obsolète.
Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Obsolète.
Obsolète.
Obsolète.
Remplit un SerializationInfo avec les données nécessaires pour sérialiser l'objet cible. |
GetObjectData(SerializationInfo, StreamingContext) |
Obsolète.
Remplit SerializationInfo avec les données nécessaires pour sérialiser l'objet cible. (Hérité de WebRequest) |
GetRequestStream() |
Obtient un objet Stream à utiliser pour écrire les données de la requête. |
GetRequestStream() |
En cas de remplacement dans une classe descendante, retourne un élément Stream pour l'écriture de données dans la ressource Internet. (Hérité de WebRequest) |
GetRequestStream(TransportContext) |
Obtient un objet Stream à utiliser pour écrire les données de la requête et exporte le TransportContext associé au flux. |
GetRequestStreamAsync() |
En cas de remplacement dans une classe descendante, retourne un élément Stream pour l'écriture de données dans la ressource Internet sous forme d'opération asynchrone. (Hérité de WebRequest) |
GetResponse() |
Retourne une réponse d'une ressource Internet. |
GetResponse() |
En cas de substitution dans une classe descendante, retourne une réponse à une demande Internet. (Hérité de WebRequest) |
GetResponseAsync() |
En cas de substitution dans une classe descendante, retourne une réponse à une demande Internet en tant qu'opération asynchrone. (Hérité de WebRequest) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Obsolète.
Obsolète.
Obsolète.
Remplit SerializationInfo avec les données nécessaires pour sérialiser l'objet cible. |
Méthodes d’extension
GetRequestMetadata(HttpWebRequest) |
Obtient des métadonnées pour les requêtes sortantes à utiliser à des fins de télémétrie. |
SetRequestMetadata(HttpWebRequest, RequestMetadata) |
Définit les métadonnées des requêtes sortantes à utiliser à des fins de télémétrie. |
S’applique à
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour