获取引用者的Web服务器名称

问题描述:

我正在将JS文件放到远程服务器上。我想知道请求来自哪里。获取引用者的Web服务器名称

ie:我在google.com上有一个js,当用户点击由js生成的链接时,它触发了我服务器上的一些c#代码,但是我也在yahoo.com上拥有相同的js和id能够知道请求来自哪里。

如何找到它?

+0

可你只需要使用网址标头或者你希望做一个查询字符串或类似的东西跟踪? – 2010-03-10 04:17:34

+0

我不想打扰那,但我想我发现它System.Web.HttpContext.Current.Request.ServerVariables [key.ToString()]只需要找到它的关键 – DarthVader 2010-03-10 04:18:29

在ASP.NET中,引用页面由Request.UrlReferrer作为Uri对象给出。

这也可作为Request.ServerVariables["HTTP_REFERER"]作为一个字符串。

继自己的主角为“System.Web.HttpContext.Current.Request.ServerVariables”,为ServerVariables财产MSDN文档包含有关如何检索所有可用的命名服务器变量一些示例代码:

int loop1, loop2; 
NameValueCollection coll; 

// Load ServerVariable collection into NameValueCollection object. 
coll=Request.ServerVariables; 
// Get names of all keys into a string array. 
String[] arr1 = coll.AllKeys; 
for (loop1 = 0; loop1 < arr1.Length; loop1++) 
{ 
    Response.Write("Key: " + arr1[loop1] + "<br>"); 
    String[] arr2=coll.GetValues(arr1[loop1]); 
    for (loop2 = 0; loop2 < arr2.Length; loop2++) { 
     Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); 
    } 
} 

此外,它还包含一个链接,通过IIS

支持的所有服务器变量

例如,“REMOTE_HOST”变量会给你:

发出请求的主机的名称。如果服务器没有这个信息,它将设置REMOTE_ADDR并将其保留为空。

System.Environment.MachineName应该包含服务器的名称。

+0

这个答案是不正确的问题是要求推荐人的域名。但是,这正是我需要的。谢谢! – 2015-11-23 11:47:22

Request.ServerVariables["SERVER_NAME"] 

你也可能需要:

Request.ServerVariables["SERVER_PORT"]