1

您如何区分访问 127.0.0.1 和 localhost 的请求。

这行代码在 Windows 7 和 VS2010 内置的 web 服务器上是分不出来的。

if (Request.ServerVariables["SERVER_NAME"].ToLower() == "localhost")
{

}

尝试使用以下命令访问您自己的内置 Web 服务器: http://127.0.0.1/ 然后 http://localhost/

4

3 回答 3

4

有关系吗?你不只是想知道连接是否是本地连接吗?我会为此使用该IsLocal属性。

if (Request.IsLocal)
{
}
于 2010-06-17T21:57:23.760 回答
2

Request.Headers 将区分请求:

if (Request.Headers["host"].ToLower() == "localhost") 
{ 
  //shouldn't be hit for 127.0.0.1
} 

注意:根据您的需要,您必须考虑在检查前清除端口号。

于 2010-06-17T22:07:09.147 回答
0

您实际上可以指定任何名称作为您的本地主机服务器名称(例如,只需编辑您的主机文件,并使用任意名称)

您可能想让机器告诉您它是否是本地请求,而不是试图自己弄清楚。

于 2010-06-17T21:59:05.420 回答