c#必须使用适当的属性或方法修改此标头解决办法_IT技术学习网

本文描述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";

来源URL:http://www.itjsxx.com/csharp/632.html