c# - Response.Redirect 剥离 header 引荐来源网址 - 可以将其添加回去吗?

标签 c# asp.net .net http-headers response.redirect

我正在使用 Response.Redirect 将用户重定向到另一台服务器以下载文件,而另一台服务器正在检查 header 以确保它来自正确的服务器......但是 Response.Redirect 似乎剥离了 header 来自响应。

有人知道我怎样才能把标题加回去吗?我试过:

Response.AddHeader("Referer", "www.domain.com");

但是当我检查是否设置了 Referrer header 时,接收页面测试为 false。

除了显示一个供用户点击的按钮(我希望尽可能对用户隐藏 url)之外,我如何使它正常工作的任何建议。

最佳答案

有一个 HTML hack 可用。

<form action="http://url.goes.here" id="test" method="GET"></form>
<script type="text/javascript">
  document.getElementById("test").submit();
</script>

如果您需要从后面的代码中触发它,也可以这样做:

Response.Write( @"<form action='http://url.goes.here' id='test' method='GET'></form>
                  <script type='text/javascript'>
                     document.getElementById('test').submit();
                  </script> ");

正如 Inkel 可能指出的那样,这是对 Referer[sic] 规范的松散解释。它会做你想做的事。

关于c# - Response.Redirect 剥离 header 引荐来源网址 - 可以将其添加回去吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/243057/

相关文章:

c# - ObservableCollection 的排序值(响应式扩展)

c# - 如何动态显示模型中每个属性的显示名称和值

asp.net - 在线.Net编码

.net - HttpClient - .net 4 或 .net 4.5

.net - 消息队列事务超时

c# - 出现错误0xc0000005时强制关闭应用

c# - Entity Framework 6 : ignore property on basetype for all derived types

c# - 更新 NuGet 包后出现 System.NullReferenceException

c# - Entity Framework (一对一映射)获取依赖模型为空

c# - Google API 更改,导致 MONO 错误 : Invalid IL code in System.Net.Http.HttpClientHandler :. ctor (): method body is empty