Tag: http headers

是否可以使用HttpWebRequest更改标题顺序?

我需要更改标题的顺序,我正在使用它: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = context.Request.HttpMethod; request.UserAgent = context.Request.UserAgent; 输出是: GET /* HTTP/1.1 User-Agent: My Server Host: 127.0.0.1:1080 但它应该是 GET /* HTTP/1.1 Host: 127.0.0.1:1080 User-Agent: My Server 有任何想法吗? 谢谢你的时间。 编辑:也许有一种方法使用其他对象……它也是一种选择

如何使用具有特定HTTP引用和查询字符串的WatiN来模拟http请求?

当我使用WatiN转到特定网页时,如何使用查询字符串伪造HTTP引用者 (即请求来自谷歌搜索,查询字符串q = search_term)? 因此,我可以validation响应标头是否具有针对特定引荐来源url的301重定向。 我可能需要使用FiddlerCore来扮演中间人来设置自定义引荐来源,但我还不确定如何做到这一点。 我在C#中使用ASP.NET。 谢谢! //WatiN Browser.GoTo(url);

在重定向时保持HTTP Basic Authentification存活

我们正在使用基本身份validation的Web服务。 这一切都很好,直到Web服务的所有者实现了平衡服务。 这只是将请求重定向到不同的Web服务实例。 问题是重定向后基本身份validation失败。 有“请求身份validation凭据未通过”exception。 附加信息: 我们必须手动创建请求。 var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(Settings.Default.HpsmServiceAddress)); req.Headers.Add(“Authorization”, “Basic aaaaaaaaaaa”); req.PreAuthenticate = true; req.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested; req.UserAgent = “Apache-HttpClient/4.1.1 (java 1.5)”; req.KeepAlive = false; ServicePointManager.Expect100Continue = false; req.ContentType = “text/xml; charset=utf-8”; req.Method = “POST”; req.Accept = “gzip,deflate”; req.Headers.Add(“SOAPAction”, actionName); byte[] buffer = Encoding.UTF8.GetBytes(envelop); Stream stm = req.GetRequestStream(); stm.Write(buffer, 0, buffer.Length); […]

如何在Asp.Net中的Server.Transfer之前设置响应头?

我有一个页面,根据某些条件,我要么做Response.Redirect或Server.Transfer。 现在我想为两个案例添加一个标题。 所以我正在做以下事情 Response.AddHeader(“Vary”, “User-Agent”); if (condition) { Server.Transfer(redirectUrl); } else { Response.Redirect(redirectUrl); } 现在,当代码通过Server.Transfer代码路径时,Vary标头设置为*,而当它通过Response.Redirect时,标头正确设置为User-Agent。 为什么会发生这种情况,如何为两种情况设置响应标头相同?

部署到IIS Server 8.5后,web.config中的WebConfig与web.config错误中的自定义响应标头

在ASP.NET MVC webconfig文件中添加了以下安全规则。应用程序在部署到Amazon AWS Web Server时会抛出500内部服务器错误,但在Visual Studio内部运行(IIS Express) 任何人都可以帮助如何解决此问题与此安全包括..

使用wsHttpBinding的WCF服务 – 操作HTTP请求标头

我一直在关注本教程,以便在我的WCF服务中使用传输安全性进行用户名身份validation。 然而,教程指的是使用basicHttpBinding这是不可接受的 – 我需要wsHttpBinding 。 我们的想法是在WCF服务上有一个自定义的BasicAuthenticationModule ,它将从HTTP请求中读取“Authorization”头,并根据“Authorization”头内容执行auth过程。 问题是缺少“授权”标题! 我已经通过自定义行为实现了IClientMessageInspector ,以便操作传出消息并添加自定义SOAP标头。 我在BeforeSendRequest函数中添加了以下代码: HttpRequestMessageProperty httpRequest = request.Properties.Where(x => x.Key == “httpRequest”).Single().Value; httpRequest.Headers.Add(“CustomHeader”, “CustomValue”); 这应该工作,并根据许多Web资源,它适用于basicHttpBinding但不适用于wsHttpBinding 。 当我说“工作”时,我的意思是WCF服务成功接收了标头。 这是在WCF服务端检查收到的HTTP消息的简化函数: public void OnAuthenticateRequest(object source, EventArgs eventArgs) { HttpApplication app = (HttpApplication)source; //the Authorization header is checked if present string authHeader = app.Request.Headers[“Authorization”]; if (string.IsNullOrEmpty(authHeader)) { app.Response.StatusCode = 401; app.Response.End(); } […]

在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 }); } 我试图通过将在Phone Gap中托管的JQuery Mobile应用程序让某人访问此操作。 我被告知我需要在我的标题中返回Access-Control-Allow-Origin: * 。 但是,我不知道如何在标题中返回它。 有人可以告诉我该怎么做吗? 非常感谢。

如何在使用相对URL时更改http / https协议

协议相对URL 不是我正在寻找的。 我正在寻找一种绝对指定协议(http vs https)的方法,同时保持url相对的主机名。 给定一个相对URL,例如“/ SearchForStuff”,我希望能够指定不同的协议“https vs. http”等,而不必指定主机/域名。 我们的网站有一个标题局部视图,我们在我们网站的每个页面的顶部显示。 网站上的一些页面是http,有些是https。 标题包含用于站点范围搜索的文本框和按钮。 网站搜索结果页面始终使用http提供,因此我们希望表单操作指向相对路径“/ find”。 但是,我们希望在我们的许多内部测试服务器(10.10.10.123等)以及面向公众的服务器(“www.publicfacingserver.com”)上使用相同的标头,理想情况下不会更改标题局部视图的内容。 基本上我正在寻找的是一种为搜索操作指定协议同时保持服务器/主机名相对的方法。 目前,为了确保用户无法从安全页面链接到站点搜索结果的安全页面,我们硬编码用于站点搜索的操作的绝对URL,完成协议和主机名,例如“http://www.publicsite.com/find”。 问题是在测试服务器上单击该操作会将您重定向回我们面向公众的站点。 因此,对于测试,我们对主机文件进行手动编辑,以使测试服务器的IP地址等于面向公众的站点名称。 这给开发人员带来了一些认知负担,并且还要求我们访问我们希望测试我们网站的任何非编码人员的计算机,以便在测试之前配置他们的主机文件,并在测试之后取消配置更改其主机文件。 下面的代码是我提出的最佳解决方案。 有谁知道更好的方法? 如果我的解决方案足够,它是否会产生任何安全漏洞? 我不明白它是怎么回事,因为如果恶意用户向我们面向IP地址X的公众发送请求但主机头中的主机名与该IP地址不匹配,这只会导致URL不稳定被提供给同一个用户。 换句话说,我没有看到任何人可以通过在另一个站点的消息板上发布URL或任何类似的东西来使用它来创建XSRF漏洞: public static string CurrentHostName(this UrlHelper helper, HttpProtocol protocol) { var result = string.Empty; if (protocol == HttpProtocol.Secure) result += “https://”; if (protocol == HttpProtocol.UnSecure) result += “http://”; if (protocol == […]

MVC中的P3P标题信息

我不确定我想把它放在我的Asp.net MVC网站上: HttpContext.Current.Response.AppendHeader(“P3P”, “CP=\\\”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\””); 我把它放在: public static void RegisterRoutes(RouteCollection routes) { HttpContext.Current.Response.AppendHeader(“P3P”, “CP=\\\”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\””); routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller […]

Response.Redirect strip Header Referrer – 可以添加回来吗?

我正在使用Response.Redirect将用户重定向到另一台服务器以下载文件,另一台服务器正在检查标头以确保它来自正确的服务器…但是似乎Response.Redirect从响应中剥离了标头。 有谁知道如何添加标题? 我试过了: Response.AddHeader(“Referer”, “www.domain.com”); 但是当我检查是否设置了Referrer标头时,接收页面会测试为false。 任何建议如何让我的工作,除了显示一个按钮供用户点击(我想尽可能地保持用户隐藏url)。