HttpWebRequest中缺少属性

时间:2012-10-19 06:19:31

标签: c# post httpwebrequest

我正在使用.Net 4和VS express 2010。

我可以发布我的帖子请求,但我无法设置一些标题。 下面的代码工作罚款

WebRequest Request = Request.Create("http://example.com") as HttpWebRequest;
Request.Method = "POST";
Request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
Request.Headers.Set("Accept-Encoding", "gzip,  deflate");

问题是我无法设置其他标题,如“Accept”,“UserAgent”,“Referer”,“Connection”

我尝试了以下方法,但失败了

Request.Accept = "*/*";
Request.Headers.Set("Accept", "*/*");

对于第一行,Accept属性不存在 而对于第二行,标题需要使用适当的方法或属性进行编辑。

我是菜鸟,我在google和stackoverflow上搜索过。 如果您不知道如何解决这个问题,那么指出解决这个问题的任何方向就像重新安装一些东西一样真的很感激。

1 个答案:

答案 0 :(得分:7)

AcceptWebRequest上不作为属性存在,但 HttpWebRequest上存在。

HttpWebRequest request = (HttpWebRequest) Request.Create("http://example.com");
request.Accept = "*/*";

即使您之前使用的是as HttpWebRequest(我强烈建议您更喜欢使用强制转换),但您的变量已声明为WebRequest类型,这就是为什么它不会编译。