Как получить местоположение посетителя (страна, штат и город) с помощью ASP.NET

Я хочу реализовать это в ASP.NET. Я не знаю, как это сделать, к сожалению.

Ответы

Ответ 1

Вот как это делается в asp.net

Request.ServerVariables("REMOTE_ADDR")

Получить копию базы данных IP-адресов по местоположению

http://www.maxmind.com/

Ответ 2

Почему бы не использовать Google Analytics? Вы получите больше, чем вам нужно. В качестве альтернативы вы можете получить клиентский ip и использовать сервис, например ip2location, чтобы получить его.

Проверьте этот аналогичный вопрос. определение местонахождения клиентов на странице asp.net.

Ответ 4

используя

string userHost = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (String.IsNullOrEmpty(userHost) || 
    String.Compare(userHost, "unknown", true) == 0)
{
    userHost = Request.UserHostAddress;
}

вы получите IP-адрес пользователей. Основываясь на этом ip-адресе, вы можете узнать подробности местоположения посетителя, вызвав webservice.

Ответ 5

IPAddressExtensions является бесплатной библиотекой классов codeplex, если все, что вы просто хотите, это страна, в которой находится IP.

Ответ 6

Сначала получите IP-адрес посетителя, используя Request.ServerVariables( "REMOTE_ADDR" ). Имейте в виду, что посетитель может использовать прокси-сервер, и в этом случае IP-адрес может не быть их фактическим IP-адресом. Для прокси-сервера вы можете проверить, содержит ли Request.ServerVariables( "HTTP_X_FORWARDED_FOR" ) значение. Это будет фактический IP-адрес, если прокси-сервер не является анонимным прокси-сервером.

Затем у вас есть 2 варианта, используя веб-службу или запрашивая данные из собственной базы данных. В любом случае вам понадобятся данные, которые могут соответствовать IP-адресу посетителя в их стране, штате и городе.

Ответ 7

Получите IP-адрес клиента и найдите местоположение IP-адреса с помощью любого IP-сервиса для сопоставления геоданных.

Ответ 8

Это то, что я использовал:

<script type="text/javascript">
    $(document).ready(function() {
        $.ajax({
            'url': 'http://www.freegeoip.net/json/@(HttpContext.Current.Request.UserHostAddress)',
            'type': 'GET',
            'success': function(data) {
                // for example
                if (data.country_code === "GB") {
                    ... further logic here
                }
            }
        });
    });
</script>