Как получить местоположение клиентской машины
Можно ли получить местоположение клиентской машины без IP-адреса? Я пробовал разные коды, чтобы получить IP-адрес клиентской машины, но ни один из них не дает правильного IP-адреса, либо он дает 127.0.0.1, либо 10.0.0.3.
Что я уже пробовал:
Я попробовал следующие два метода
1)
частная строка GetUserIP()
{
строка ipList = запрос.ServerVariables["HTTP_X_FORWARDED_FOR"];
если (!строка.IsNullOrEmpty(ipList))
{
return ipList.Split(',')[0];
}
запрос на возврат.ServerVariables["REMOTE_ADDR"];
}
Это даст 127.0.0.1
2)
публичная статическая строка getExternalIp()
{
пробовать
{
строка externalIP;
externalIP = (new WebClient()).Скачать строку("http://checkip.dyndns.org/");
externalIP = (новое регулярное выражение (@"и\D{1,3}\.\д{1,3}\.\д{1,3}\.\д{1,3}"))
.Совпадения(externalIP)[0].Метод toString();
возврат externalIP;
}
catch { return null; }
}
Это позволит получить правильный IP, но это займет много времени, чтобы получить Out put, есть ли какой-нибудь код, который получит IP очень быстро.