WebClient.Headers Property
Gets or sets a collection of header name/value pairs associated with the request.
Namespace: System.Net
Assembly: System (in System.dll)
Property Value
Type: System.Net.WebHeaderCollectionA WebHeaderCollection containing header name/value pairs associated with this request.
The Headers property contains a WebHeaderCollection instance containing protocol headers that the WebClient sends with the request.
Some common headers are considered restricted and are protected by the system and cannot be set or changed in a WebHeaderCollection object. Any attempt to set one of these restricted headers in the WebHeaderCollection object associated with a WebClient object will throw an exception later when attempting to send the WebClient request.
Restricted headers protected by the system include, but are not limited to the following:
Date
Host
In addition, some other headers are also restricted when using a WebClient object. These restricted headers include, but are not limited to the following:
Accept
Connection
Content-Length
Expect (when the value is set to "100-continue"
If-Modified-Since
Range
Transfer-Encoding
The HttpWebRequest class has properties for setting some of the above headers. If it is important for an application to set these headers, then the HttpWebRequest class should be used instead of the WebRequest class.
You should not assume that the header values will remain unchanged, because Web servers and caches may change or add headers to a Web request.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.