ASP.NET - различие между localhost и 127.0.0.1
Как вы можете определить разницу между запросом, идущим на 127.0.0.1, и localhost.
Эта строка кода на Windows 7 и встроенном веб-сервере VS2010 не может отличить.
if (Request.ServerVariables["SERVER_NAME"].ToLower() == "localhost")
{
}
попробуйте подключиться к вашему собственному встроенному веб-серверу: http://127.0.0.1/ а затем http://localhost/
3 ответа
Request.Headers будет дифференцировать запросы:
if (Request.Headers["host"].ToLower() == "localhost")
{
//shouldn't be hit for 127.0.0.1
}
Примечание. В зависимости от ваших потребностей перед проверкой вам нужно будет удалить номер порта.
Это имеет значение? Разве вы не хотите знать, является ли соединение локальным? Я бы просто использовал IsLocal
свойство для этого.
if (Request.IsLocal)
{
}
На самом деле вы можете указать любое имя в качестве имени вашего сервера локального хоста (например, просто отредактируйте ваш файл hosts и используйте произвольное имя)
Вы, вероятно, хотите, чтобы устройство сообщало вам, является ли это локальным запросом, а не пыталось выяснить это для себя.