改变默认的ASP MVC请求头以添加你自己的值
我试图将我所有的ASP MVC HTTP响应标头更改为默认情况下具有另一个值,以在我的博客应用程序中实现Pingback自动发现. 默认标题(在Cassini上)为: Cache-Control private Connection Close Content-Length 20901 Content-Type text/html; charset=utf-8 Date Fri, 20 Apr 2012 22:46:11 GMT Server ASP.NET Development Server/10.0.0.0 X-AspNet-Version 4.0.30319 X-AspNetMvc-Version 3.0 我想要一个额外的增值: X-Pingback: http://localhost:4912/pingback/xmlrpcserver 我已经搜索了一些谷歌,找到了一个N​​EET解决方案: - 源自 ActionFilte
0 2024-04-15
编程技术问答社区
如何在使用相对URL时改变http/https协议
协议搭配的URL 不是我要寻找的内容.我正在寻找一种绝对指定协议的方法(HTTP与HTTPS),同时保留URL相对的主机名. 给出了一个相对URL,例如"/searchforstuff",我希望能够指定其他协议" https vs. http"等,而无需指定主机/域名. 我们的网站具有一个标题部分视图,我们在网站上的每个页面上都显示了标题部分.网站上的某些页面是HTTP,有些是HTTP.标头包含一个文本框和按钮,以供网站范围搜索.始终使用HTTP提供站点搜索结果页面,因此我们希望表单操作指向相对路径"/查找".但是,我们希望相同的标头能够在许多内部测试服务器(10.10.10.123等)以及我们的公共面服务器(" www.publicfacingserver.com")上工作,理想情况下,无需更改标头部分视图的内容.因此,从本质上讲,我正在寻找的是一种在保持服务器/主机名相关的同时指定搜索操作协议的方法. 当前主机名,例如" http://www.publicsite.co
2 2024-04-15
编程技术问答社区
如何防止HttpClient发送Connection标头
httpclient默认情况下将其作为" keep-alive".我已经能够使用httpClient.DefaultRequestHeaders.ConnectionClose = true;将其设置为"关闭",但是我该如何省略它? 解决方案 我以前看过这个问题,据我所知)提出了一种方法,以避免在HttpClient或HttpWebRequest世界中发送Connection标题,而不会完全重新发明轮子.这发生在杂草深处的某个地方. ConnectionClose是可虚拟的,但是将其设置为HttpClient.DefaultRequestHeaders和HttpRequestMethod.Headers仍然会导致发送Connection: Keep-Alive标题. 总结: HttpRequestHeaders.ConnectionClose = true => Connection: close HttpRequestHeaders.ConnectionCl
0 2024-04-14
编程技术问答社区
在ApiController中添加一个自定义响应头
到目前为止,我有一个GET方法,看起来如下: protected override async Task GetAll(QueryData query) { // ... Some operations //LINQ Expression based on the query parameters Expression> queryExpression = BuildQueryExpression(query); //Begin to count all the entities in the repository Task countingEntities = repo.CountAsync(queryExpression); //Reads an entity that will be the page start E
0 2024-04-14
编程技术问答社区
使用wsHttpBinding的WCF服务-操纵HTTP请求头
我一直在关注 this 为了获得USERNAME的教程在我的WCF服务中使用运输安全性的身份验证.但是,教程是指使用basicHttpBinding,这是不可接受的 - 我需要wsHttpBinding. 这个想法是在WCF服务上拥有一个自定义BasicAuthenticationModule,该服务将从HTTP请求中读取"授权"标题,并根据"授权"标头内容执行验证过程.问题是"授权"标题丢失了! 我通过自定义行为实现了IClientMessageInspector,以操纵传出消息并添加自定义肥皂标头.我在BeforeSendRequest函数中添加了以下代码: HttpRequestMessageProperty httpRequest = request.Properties.Where(x => x.Key == "httpRequest").Single().Value; httpRequest.Headers.Add("CustomHeader
0 2024-04-13
编程技术问答社区
在ASP.NET MVC 3中添加头文件
我有一个基本的ASP.NET MVC 3应用程序.我有一个基本动作,看起来如下: [AcceptVerbs(HttpVerbs.Post)] public ActionResult AddItem(string id, string name, string description, string username) { // Do stuff return Json(new { statusCode = 1 }); } 我试图让某人通过将在手机差距中托管的jQuery移动应用程序访问此操作.有人告诉我我需要在标题中返回Access-Control-Allow-Origin: *.但是,我不确定如何在标题中返回.有人可以告诉我如何做吗? 非常感谢. 解决方案 Response.AppendHeader("Access-Control-Allow-Origin", "*"); 其他解决方案 public class HttpHeaderAttr
0 2024-04-13
编程技术问答社区
使用HttpWebRequest添加自定义头信息
我不确定这些突出显示的值是什么类型的标题,但是我应该如何使用httpwebrequest添加它们? 突出显示的部分是否被认为是HTTP请求或标头数据的正文?换句话说,哪种方式正确? 这是我当前正在使用的代码: HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/securecontrol/reset/passwordreset"); request.Headers.Add("Authorization", "Basic asdadsasdas8586"); request.ContentType = "application/x-www-form-urlencoded"; request.Host = "www.xxxxxxxxxx.com"; request.Method = "POST"; request.Proxy = null; request.Headers.Add("&command=r
0 2024-04-13
编程技术问答社区
C#-Connection: keep-alive Header is not being sent during HttpWebRequest
我试图用我的httpwebrequest发送以下标头: Connection: keep-alive 但是,从未发送标题. Fiddler2显示,每当我在Google Chrome中要求该页面时,标题就会发送.但是,由于某种原因,我的申请拒绝发送此标头. 我已经将KeepAlive属性设置为true(默认情况下是true),但标题仍未发送. 我试图用多个httpwebrequests发送此标头,但它们基本上看起来像这样: HttpWebRequest logIn6 = (HttpWebRequest)WebRequest.Create(new Uri(responseFromLogIn5)); logIn6.CookieContainer = cookies; logIn6.KeepAlive = true; logIn6.Referer = "https://login.yahoo.com/config/login?.src=spt&.intl=us&.l
0 2024-04-12
编程技术问答社区
HttpClient检索所有头文件
目前,我正在研究API包装器.如果我发送不良的Consumer Key,则服务器将返回Status为403 Forbidden.它还将通过自定义标题.我如何实际检索这些自定义标头? 这是从服务器接收的响应. Cache-Control: private Date: Wed, 01 May 2013 14:36:17 GMT P3P: policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE" Server: Apache/2.2.23 (Amazon) Status: 403 Forbidden X-Error: Invalid consumer key. X-Error-Code: 152 X-Powered-By: PHP/5.3.20 Connection: keep-alive 我需要检索X-Error和X-Error-Code.目前,我正在使用HttpCl
2 2024-04-12
编程技术问答社区
vary:accept-encoding是什么意思?
Google页面速​​度插件告诉我: The following publicly cacheable, compressible resources should have a "Vary: Accept-Encoding" header: //some .js and .css files 我不明白这意味着什么.我已经压缩了这些文件: if (encodings.Contains("gzip") || encodings == "*") { app.Response.Filter = new GZipStream(baseStream, CompressionMode.Compress); app.Response.AppendHeader("Content-Encoding", "gzip"); } 这一切似乎都起作用.为什么有Vary: Accept-Encoding需要? 解决方案 它允许缓存可以根据浏览器请求GZIP编码是否为页面的
0 2024-04-12
编程技术问答社区
带有自定义标头的MVC重定向
希望这对那里的人来说是一个简单的问题. 基本上是在收到我的MVC控制器请求后,我想: 在响应中添加"授权"标题 重定向到另一个域上的另一个应用程序 在此外部站点上阅读"授权"标题. 似乎是重定向的行为,剥离我所有的自定义标题和重定向. 我的问题,如何添加一个新标头并执行重定向,并在接收主机的标题中显示该标头(在重定向结束时)以读取? 解决方案 你不能.这不是HTTP的工作方式.首先,"重定向"只是301、302或(由于http 1.1)307状态代码,并将Location标头设置为uRL到客户端应使用. client 启动了该URL的请求,因此您无法控制他们发送的标头. 第二,http是无状态的,因此在某个时候以某个时候发送了Authorization标头的事实,这对以后的任何请求中发生的任何事情都具有 Zero . Web浏览器和其他HTTP客户端在HTTP的无状态性质周围围绕着服务器端上的会话和客户端的cookie.客户端将cookie发送到
0 2024-04-12
编程技术问答社区
为请求添加头信息的HttpModule
这似乎是一个简单的操作. 我们在开发环境中需要(在XP/IIS 5上运行),以在到达应用程序的每个HTTPRequest中添加一些标题. (这是为了模拟我们在开发人员中没有的生产环境).乍一看,这似乎是一个简单的httpmodule,沿着: 的行 public class Dev_Sim: IHttpModule { public void Init(HttpApplication app) { app.BeginRequest += delegate { app.Context.Request.Headers.Add("UserName", "XYZZY"); }; } public void Dispose(){} } 但是,在尝试这样做时,我发现该请求的标题集合是只读的,并且添加方法失败了,而操作notsupported exceptions. 花几个小时在Google上进行研究,我对应该是一个相对简单的问题没有
2 2024-04-12
编程技术问答社区
Cache-control: no-store, must-revalidate在IIS7 + ASP.NET MVC中没有被发送到客户端浏览器。
我正在尝试确保某个页面永远不会被缓存,并且当用户单击后面按钮时,从未显示. 这个非常高的答案(当前1068个upvotes)说要使用: Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); Response.AppendHeader("Pragma", "no-cache"); Response.AppendHeader("Expires", "0"); 但是,在IIS7/ASP.NET MVC中,当我发送这些标题时,客户会看到这些响应标题: Cache-control: private, s-maxage=0 // that's not what I set them to Pragma: no-cache Expires: 0 缓存控制标头发生了什么? IIS7或ASP.NET本地的东西覆盖它吗?我已经检查了解决方案,没有代码可以覆盖此标头. 当我添加Re
0 2024-04-12
编程技术问答社区
使用RestSharp设置'Content-Type'标头
我正在为RSS阅读服务建立客户.我正在使用 restsharp 库库与他们的API互动. API状态: 创建或更新记录时,必须将application/json;charset=utf-8设置为Content-Type标题. 这就是我的代码的样子: RestRequest request = new RestRequest("/v2/starred_entries.json", Method.POST); request.AddHeader("Content-Type", "application/json; charset=utf-8"); request.RequestFormat = DataFormat.Json; request.AddParameter("starred_entries", id); //Pass the request to the RestSharp client Messagebox.Show(rest.ExecuteAsPos
0 2024-04-12
编程技术问答社区
Content-Disposition头中的Unicode
我正在使用httpcontext对象在httphandler子中实现的下载文件,当我在文件名中具有非accii字符时,IE看起来很奇怪,而在firefox中看起来不错. . 以下是代码: - context.Response.ContentType = ".cs"; context.Response.AppendHeader("Content-Length", data.Length.ToString()); context.Response.AppendHeader("Content-Disposition", String.Format("attachment; filename={0}",filename)); context.Response.OutputStream.Write(data, 0, data.Length); context.Response.Flush(); 当我提供'â€''â€''''â€''''''''''
0 2024-04-11
编程技术问答社区
像浏览器一样的HttpClient请求
当我致电网站www.livescore.com httpclient类时,我总是会遇到错误" 500". 可能服务器阻止了HTTPCLIENT的请求. 1)还有其他方法可以从网页中获取HTML? 2)我如何设置标题以获取HTML内容? 当我在浏览器中设置标头时,我总是会得到stange编码的内容. http_client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "text/html,application/xhtml+xml,application/xml"); http_client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Encoding", "gzip, deflate"); http_client.DefaultRequestHeaders.TryAddWithoutValidation("Us
0 2024-04-11
编程技术问答社区
如何知道HTTP请求标头值是否存在
非常简单,我敢肯定,但是把我带到墙上!我在Web应用程序中使用的组件在Web请求中通过添加标题" xyzcomponent = true"来识别自身,我遇到的问题是,您如何在视图中检查一下? 以下无法工作: if (Request.Headers["XYZComponent"].Count() > 0) 也不是这样: if (Request.Headers.AllKeys.Where(k => k == "XYZComponent").Count() > 0) 如果尚未设置标头变量,则两者都抛出异常.任何帮助将不胜感激. 解决方案 if (Request.Headers["XYZComponent"].Count() > 0) ...将尝试计算返回的字符串中字符的数量,但是如果标题不存在,它将返回null,因此为什么会引发异常.您的第二个示例有效地执行了同样的事情,它将通过标头的集合进行搜索,并在不存在的情况下返回null,然后您尝试计算以下字符的数
0 2024-04-11
编程技术问答社区
在HttpWebRequest中添加自定义头信息
我需要在HttpWebRequest对象中添加一些自定义标头.如何将自定义标头添加到Windows Phone 7中的HttpWebRequest对象. 解决方案 您将Headers属性与字符串索引: 使用 request.Headers["X-My-Custom-Header"] = "the-value"; 根据MSDN的说法,这是从以下原因开始的. 通用Windows平台4.5 .NET框架1.1 便携式类库 Silverlight 2.0 Windows Phone Silverlight 7.0 Windows Phone 8.1 https:/https://msdn.microsoft. com/en-us/library/system.net.httpwebrequest.headers(v = vs.110).aspx 其他解决方案 创建服务,添加标题和阅读JSON响应的一种简单方法, private static v
0 2024-04-11
编程技术问答社区