Lorsque vous utilisez les classes httpwebrequest et webrequest en C#, si vous essayez de définir l’en-tête de la requête http, que vous utilisiez la méthode set ou la méthode add, comme en définissant la propriété hôte dans l’en-tête :
will error : « Cet en-tête doit être modifié avec l’attribut ou la méthode appropriée ».
// Résumé: Obtenez ou définissez la valeur de l’en-tête Host pour qu’elle soit utilisée indépendamment de l’URI de requête dans une requête HTTP. // Résultats du retour : Valeur de l’en-tête de l’hôte dans les requêtes HTTP. // Anomalie : System.ArgumentNullException : Les en-têtes hôte ne peuvent pas être mises en null. // System.ArgumentException : Les en-têtes hôtes ne peuvent pas être définies à des valeurs invalides. // System.InvalidOperationException : Les en-têtes hôtes ne peuvent pas être configurés après avoir commencé à envoyer System.Net.HttpWebRequests. chaîne publique Host { get ; set ; }
Raison : C# ne permet pas d’utiliser les méthodes d’ensemble et d’ajout pour définir de tels en-têtes C# fournit déjà un attribut dédié pour un tel en-tête que vous pouvez utiliser lors de la modification et de la définition de cet en-tête. Le nom de l’en-tête et les attributs correspondants sont définis comme suit : | En-tête | Mise en place | | Accepter | Accepter la propriété. | | Connexion | Défini par la propriété Connexion et la propriété Maintenir en vie. | | Longueur du contenu | Défini par la propriété ContentLength. | | Type de contenu | Définissez par la propriété ContentType. | | Attendez-vous | Défini par la propriété Attendre. | | Date | Défini par la propriété Date. | | Animateur | Propriété hôte. | | Si-Modifié-Puisque | Défini par la propriété IfModifiedSince (IfModifiedFrom). | | gamme | Défini par la méthode AddRange. | | Référent | Défini par la propriété Referer. | | Encodage par transfert | Défini par la propriété TransferEncoding (la propriété SendChunked doit être vraie). | | User-Agent | Propriété UserAgent. |
|