2010-04-18 45 views
35

Czy można uzyskać długość i szerokość geograficzną z adresu IP w asp.net? Jeśli to możliwe, proszę dać mi znać, jak mogę to uzyskać.Długość i szerokość geograficzna z adresu IP

+0

Spróbuj [MaxMind] (http://www.maxmind.com/app/ip-location) – codaddict

+0

Thanks Unicomaddict, Ale to nie jest za darmo :(Każdy inny związek !! – Zerotoinfinity

+1

https: /. /ipdata.co jest darmowa do 1500 żądań dziennie! Jest także wyjątkowo szybka z 10 punktami końcowymi na całym świecie, z których każdy może obsłużyć> 800 M połączeń dziennie! – Jonathan

Odpowiedz

33

MaxMind Geolite city jest bezpłatny. Jeśli nie jest wystarczająco dobry, możesz najwyraźniej dokonać aktualizacji do bardziej dokładnej wersji płatnej. Nie mogę mówić za jakość płatnej wersji, ponieważ nigdy jej nie używałem.

Jeśli podoba Ci się twój SQL, pobierz CSV version. Załaduj go do wybranej bazy danych i odtwórz z zapytaniem.

Szybsza i bardziej wydajna opcja to download the file binary blob version z tej samej bazy danych, a następnie użyj the C# class, aby przesłać zapytanie.

Alternatywnie, znalazłem ipinfodb.com, aby było przydatne. Zapytanie odbywa się przez proste HTTP GET. Na przykład, aby spróbować geolokalizacji stackoverflow.com:

http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211 

ten powróci plik XML zawierający długość i szerokość geograficzną, która wygląda tak:

<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> 

Some VB.NET przykładowy kod jest dostępny na http://forum.ipinfodb.com/viewtopic.php?f=7&t=269

+1

Wymagają one rejestrację aby otrzymać klucz API Od tego postu, ale to nic nie kosztuje i stosunkowo bezboleśnie. – Merijn

+0

świetna obsługa. Dziękuję chłopaki – chester89

+0

I korzystałem z tej usługi za darmo z kredytem na stronie i jej było twarde jak skała –

2

Można skorzystać z usługi, takie jak: http://freegeoip.appspot.com/

To nie będzie całkowicie dokładne.

Here to samouczek dotyczący korzystania z usługi przy użyciu ASP.Net.

+0

Witaj Thedugas, http: //freegeoip.appspot.com/nie działa poprawnie i zaimplementowałem to samo, co powoduje błąd 503. Może być to usługa zatrzymana. :( Proszę dać mi znać, jeśli masz inne myśli. Jeszcze raz dziękuję za odpowiedź. – Zerotoinfinity

2

Wypróbuj IPInfoDB, który, o ile wiem, jest bezpłatny.

Zapewniają do pobrania bazy danych, ale najprostszym rozwiązaniem wydaje się być api XML. Podane przykłady dotyczą php, ale jestem pewien, że jest on równie dostępny w ASP.Net.

0

Jeśli próbujesz uzyskać dostęp do swojej lokalizacji za pośrednictwem klienta javascript, interfejs API lokalizacji geograficznej dostępny w HTML 5 jest bardzo pomocny.

if(navigator.geolocation){    
    navigator.geolocation.getCurrentPosition(geoLocationSuccess, geoLocationError); 
} 

geoLocationSukces i geoLocationError to wywołania zwrotne dotyczące odpowiednio sukcesu i błędu.

function geoLocationSuccess(position){ 
    alert('lat: ' + position.coords.latitude + ', lon: ' + position.coords.longitude); 
} 
+1

W tym przypadku użytkownik musi wyrazić zgodę za pomocą alertu w przeglądarce, który nie zawsze jest dobry, ponieważ może nie ufać stronie lub odrzuceniu – GAV

Powiązane problemy