При використанні httpwebrequest і webrequest класу в C#, якщо ви намагаєтеся встановити заголовок http-запиту, незалежно від того, чи використовуєте ви метод set, чи метод додавання, наприклад, властивість хоста в заголовку:
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. | | Дата | Встановлено за властивістю Дата. | | Ведучий | Власність хоста. | | If-Modified-Оскільки | Встановлено властивістю IfModifiedSince | | Діапазон | Встановлено методом AddRange. | | Реферер | Встановлюється властивістю реферера. | | Кодування передачі | Встановлено властивістю TransferEncoding (властивість SendChunked має бути істинною). | | User-Agent | Властивість UserAgent. |
|