c#必须使用适当的属性或方法修改此标头解决办法
本文描述c#中出现"必须使用适当的属性或方法修改此标头"错误的原因和解决办法。
在c#中使用httpwebrequest,webrequest类的时候,如果尝试对http请求的header进行设置,不管是使用set方法还是add方法,如我们设置header中的referer属性:
request.Headers.Set("Referer", "itjsxx.com"); request.Headers.Add("Referer", "itjsxx.com");都会报错:"必须使用适当的属性或方法修改此标头"。
原因:c#不允许您使用set和add方法来设置此类标头
c#已经提供了此类标头的专用属性,供您修改和设置此标头时使用。
header的名称和对应的属性设置方法如下:
Header 设置方
Accept 由 Accept 属性设置。
Connection 由 Connection 属性和 KeepAlive 属性设置。
Content-Length 由 ContentLength 属性设置。
Content-Type 由 ContentType 属性设置。
Expect 由 Expect 属性设置。
Date 由 Date 属性设置。
宿主 由 Host 属性设置。
If-Modified-Since 由 IfModifiedSince 属性设置。
范围 由 AddRange 方法设置。
Referer 由 Referer 属性设置。
Transfer-Encoding 由 TransferEncoding 属性设置(SendChunked 属性必须为 true)。
User-Agent 由 UserAgent 属性设置。
根据上表所示,我们修改Referer,只需要
request.Referer = "itjsxx.com";
c#必须使用适当的属性或方法修改此标头解决办法