HttpWebRequest的标头和Heanders集合的区别
2011-09-25 16:04
417 查看
一直没搞懂HttpWebRequest请求的标头和它的一个Headers属性里的键的区别,今天就去弄了个明白。
原来有Headers属性里的一些键是不能直接设置的。
MSDN上的解释。
Headers 集合包含与请求关联的协议标头。下表列出了由系统或由属性或方法设置但未存储在 Headers 中的 HTTP 标头。
如果您试图设置这些受保护的标头之一,则 Add 方法将引发 ArgumentException。
在通过调用 GetRequestStream、BeginGetRequestStream、GetResponse 或 BeginGetResponse 方法启动请求之后,更改 Headers 属性将引发 InvalidOperationException。
原来有Headers属性里的一些键是不能直接设置的。
MSDN上的解释。
Headers 集合包含与请求关联的协议标头。下表列出了由系统或由属性或方法设置但未存储在 Headers 中的 HTTP 标头。
标头 | 设置方 |
---|---|
Accept | 由 Accept 属性设置。 |
Connection | 由 Connection 属性和 KeepAlive 属性设置。 |
Content-Length | 由 ContentLength 属性设置。 |
Content-Type | 由 ContentType 属性设置。 |
Expect | 由 Expect 属性设置。 |
Date | 由系统设置为当前日期。 |
Host | 由系统设置为当前主机信息。 |
If-Modified-Since | 由 IfModifiedSince 属性设置。 |
Range | 由 AddRange 方法设置。 |
Referer | 由 Referer 属性设置。 |
Transfer-Encoding | 由 TransferEncoding 属性设置(SendChunked 属性必须为 true)。 |
User-Agent | 由 UserAgent 属性设置。 |
在通过调用 GetRequestStream、BeginGetRequestStream、GetResponse 或 BeginGetResponse 方法启动请求之后,更改 Headers 属性将引发 InvalidOperationException。
相关文章推荐
- WebClient和HttpWebRequest区别
- HttpRequest,WebRequest,HttpWebRequest,WebClient,HttpClient 之间的区别
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- Loadrunner Http协议web_submit_data与web_custom_request区别
- httpRequest与httpwebrequest区别
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- 实测 c# .net 中 httpwebrequest 和 httpclient 性能 区别 对比
- httpWebRequest和webRequest的区别
- webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?
- HttpWebRequest和WebClient的区别
- 『备忘』HttpWebRequest 在 POST 提交时, 标头(Headers)丢失原因
- HttpWebRequest.CookieContainer与HttpWebResponse.Cookies的区别和联系
- 使用HttpWebRequest的POST取得网页内容(异步操作)2篇集合
- WebClient, HttpClient, HttpWebRequest ,RestSharp之间的区别与抉择
- HttpRequest 和HttpWebRequest的区别
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
- 【.net】HttpRequest 与HttpWebRequest的区别
- httpRequest与httpwebrequest区别 (转载)
- httpRequest和httpwebrequest类的区别
- WebRequest 和 HttpWebRequest 区别