【发布时间】:2016-09-08 12:12:42
【问题描述】:
在以下代码中,如果请求来自特定域,我尝试添加 Access-Control-Allow-Origin 标头。
protected void Page_Load(object sender, EventArgs e)
{
string origin = WebOperationContext.Current.IncomingRequest.Headers.Get("Host");
if (origin.IndexOf("blabla.com" != -1) {
Response.AppendHeader("Access-Control-Allow-Origin", "*");
}
}
我的问题出在这一行:
string origin = WebOperationContext.Current.IncomingRequest.Headers.Get("Host");
我得到以下异常:
异常信息:异常类型:NullReferenceException 异常消息:对象引用未设置为 对象。
我找不到我的代码有什么问题。 感谢您的帮助
【问题讨论】:
-
你试过HttpContext.Current.Request.Url.Host吗?
-
我认为 HttpContext.Current.Request.Url.Host 会给出请求页面的主机,而不是请求的主机
-
啊,好吧,抱歉我没听懂。所以试试 HttpRequest.UserHostAddress msdn.microsoft.com/en-us/library/…
-
Request.UrlReferrer.Host 解决了我的问题
-
我不知道您想要实现什么,但 URLRerrrer 并不“安全”,因为:“获取有关链接到当前 URL 的客户端先前请求的 URL 的信息。”所以它会改变!