Действительно ли возможно получить значение долготы и широты от IP-адреса в asp.net? Если это возможно, сообщите мне, как я могу получить это.
MaxMind Geolite city бесплатен . Если он недостаточно хорош, вы, очевидно, можете перейти на более точную платную версию. О качестве платной версии говорить не могу, так как никогда ею не пользовался.
Если вам нравится ваш SQL, загрузите версию CSV . Загрузите его в свою базу данных и отправляйте запросы.
Более быстрый и экономичный вариант - загрузить двоичную версию BLOB-объекта той же базы данных, а затем использовать класс C # для запроса.
В качестве альтернативы я нашел ipinfodb.com как полезный. Запрос выполняется простым HTTP GET. Например, для геолокации stackoverflow.com попробуйте:
http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211
Это вернет XML-файл, содержащий широту и долготу, который выглядит следующим образом:
<Response>
<Ip>69.59.196.211</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>41</RegionCode>
<RegionName>Oregon</RegionName>
<City>Corvallis</City>
<ZipPostalCode>97333</ZipPostalCode>
<Latitude>44.4698</Latitude>
<Longitude>-123.343</Longitude>
</Response>
Некоторые примеры кода VB.NET доступны по адресу http: //forum.ipinfodb .com / viewtopic.php? f = 7 & t = 269
Вы можете использовать такую службу, как : http://freegeoip.appspot.com/
Это не будет полностью точным.
Здесь - руководство по использованию службы с помощью ASP.Net.
Попробуйте IPInfoDB , который, насколько мне известно, бесплатный.
Они предоставляют загружаемые базы данных, но, похоже, самым простым решением является XML api. Приведены примеры для php, но я уверен, что он также доступен с ASP.Net.