如何在c#,ASP.NET中修改请求头
我正在从事一个ASP.NETMVC项目&我必须更改HttpHeaders。请参阅愚蠢的代码片段:如何在c#,ASP.NET中修改请求头,c#,asp.net,html,asp.net-mvc,http-headers,C#,Asp.net,Html,Asp.net Mvc,Http Headers,我正在从事一个ASP.NETMVC项目&我必须更改HttpHeaders。请参阅愚蠢的代码片段: WebRequest req= HttpWebRequest.Create("myURL"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9
WebRequest req= HttpWebRequest.Create("myURL");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)");
req.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
req.Headers.Add("Accept-Language", "en-us,en;q=0.5");
这是一个例外,即
必须使用适当的属性修改此标头。\r\n参数名称:名称
要为其提供解决方案,应通过属性设置在对象中具有相应属性的标题值。例如,提供属性来设置用户代理。应使用以下内容修改标题:
req.UserAgent = "Mozilla/5.0 ...";
当然,您应该在调用
GetResponse
之前设置标题值,除了@Mehrdad Afshari所说的之外,您的req
变量需要为HttpWebRequest类型。WebRequest(抽象父类)没有UserAgent和Accept属性
HttpWebRequest req = WebRequest.Create( "http://..." ) as HttpWebRequest;
另外,我只想确保您确实在尝试更改从MVC应用程序发送的请求的标题,而不是从MVC应用程序发送回的响应的标题。您编写代码的方式有点混乱,因为您在收到响应后设置了头,这是行不通的,因为您特别提到了MVC。如果您在服务器上创建WebRequest,那么无论您使用的是WebForms还是MVC,过程都是一样的
如果您试图更改发送回的响应格式,请留下评论并通知我。HttpWebRequest request1=WebRequest.Create(“paymentgatewayurl”)作为HttpWebRequest;request1.Headers.Add(“用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;rv:20.0)Gecko/20100101 Firefox/20.0”);我也犯了同样的错误