При использовании httpwebrequest и webrequest класса на C#, если вы пытаетесь установить заголовок http-запроса, будь то метод set или add, например, свойство хоста в заголовке:
will error: «Этот заголовок должен быть изменен с соответствующим атрибутом или методом».
// Сводка: Получите или установите значение заголовка Host для использования независимо от URI запроса в HTTP-запросе. // Результаты возврата: Значение заголовка хоста в HTTP-запросах. // Аномалия: System.ArgumentNullException: Заголовки хоста не могут быть установлены как null. // System.ArgumentException: Заголовки хоста нельзя устанавливать на недопустимые значения. // System.InvalidOperationException: Заголовки хоста нельзя устанавливать после начала отправки System.Net.HttpWebRequests. public string Host { get; декорация; }
Причина: C# не позволяет использовать набор и добавлять методы для установки таких заголовков C# уже предоставляет выделенный атрибут для такого заголовка, который можно использовать при изменении и установке этого заголовка. Название заголовка и соответствующие атрибуты задаются следующим образом: | Заголовок | Подготовка | | Принимаю | Принимайте имущество. | | Связь | Задаётся свойством Connection и KeepAlive. | | Содержание-Длительность | Задаётся свойством ContentLength. | | Тип содержания | Задаётся свойством ContentType. | | Ожидайте | Задаётся свойством Expect. | | Дата | Задаётся свойством Date. | | Ведущий | Собственность хозяина. | | If-Modified-Since | Задаётся свойством IfModifiedSince | | диапазон | Задаётся методом AddRange. | | Реферер | Задаётся свойством Referer. | | Трансферное кодирование | Задаётся свойством TransferEncoding (свойство SendChunked должно быть истинным). | | User-Agent | Свойство UserAgent. |
|