获取我的远程js所在的网站的域名

时间:2013-12-13 13:43:33

标签: c# asp.net

我有一个脚本,我可以将其包含在同一域或不同域的任何页面中。 从该脚本,我正在对我的服务器进行ajax调用。 我想要的是获取包含脚本的页面的域名。 这是我的代码:

我在页面上的脚本说www.abc.com/index.html

<Script type="text/javascript" src="http://demo.xyz.com/content/OScript.js" ></script>

我的ajax调用会转到.ashx处理程序说

  

http://demo.xyz.com/web/myHandler.ashx

在该处理程序内部,如果是访问,

HttpContext.Current.Request.Url.Host

我得到了

  

“demo.xyz.com”而非“www.abc.com”

我想在服务器端检索“www.abc.com”。

我不想通过js包含/或将此域名发送到服务器端。

1 个答案:

答案 0 :(得分:0)

HttpWorkerRequest classHeaderReferer值可以提供帮助,如下所示:

HTTP处理程序代码内部:

public void ProcessRequest(HttpContext context)
{
    var theProvider = (IServiceProvider)context;
    var theWorker = (HttpWorkerRequest)theProvider.GetService(typeof(HttpWorkerRequest));
    string theReferer = theWorker.GetKnownRequestHeader(HttpWorkerRequest.HeaderReferer);

    // Do something with referer here

}