有誰知道任何打開的RESTful API,我可以調用用戶的IP地址到經度和緯度的地理編碼?地理編碼的IP地址?
理想情況下,它會是這樣的:http://google.com/geocode_api/?IP=1.2.3.4它會返回經緯度。
有誰知道任何打開的RESTful API,我可以調用用戶的IP地址到經度和緯度的地理編碼?地理編碼的IP地址?
理想情況下,它會是這樣的:http://google.com/geocode_api/?IP=1.2.3.4它會返回經緯度。
您可以使用谷歌API: http://code.google.com/apis/ajax/documentation/#ClientLocation
編輯
例子:
<script type="text/javascript"
src="http://www.google.com/jsapi?key=ABCDEFG"></script>
<script type="text/javascript">
google.load("maps", "2.x", {callback: initialize});
function initialize() {
if (google.loader.ClientLocation) {
var lat = google.loader.ClientLocation.latitude;
var long = google.loader.ClientLocation.longitude;
alert ("lat: " + lat + "\nlong: " + long);
}
else { alert ("not available"); }
}
這裏有幾個簡單的電話...
調用示例: -
返回的XML(ipinfodb)的實施例: -
<Response>
<Ip>122.169.8.137</Ip>
<Status>OK</Status>
<CountryCode>IN</CountryCode>
<CountryName>India</CountryName>
<RegionCode>10</RegionCode>
<RegionName>Haryana</RegionName>
<City>Kaul</City>
<ZipPostalCode></ZipPostalCode>
<Latitude>29.85</Latitude>
<Longitude>76.6667</Longitude>
<Timezone>0</Timezone>
<Gmtoffset>0</Gmtoffset>
<Dstoffset>0</Dstoffset>
</Response>
截至2014年12月30日,似乎freegeoip.net服務不再有效。然而,ipinfodb.com服務仍然可用,但是,它看起來像他們已經改變了他們的API網址。 – hooknc 2014-12-30 19:40:28
死鏈接不再有效 – 2017-11-01 15:20:07
你可以找到一個免費的地理數據庫,這裏總是更新 http://www.maxmind.com/app/geolitecity
,你可以通過下面的在線創建一個新的C#的服務,使用該地理DB像 http://www.maxmind.com/app/csharp
非這些返回使用IP地址 – 2013-03-04 14:12:27
@ geo171緯度/經度位置:我認爲你需要以下網站之一來獲得緯度/經度 服務:http:// api。 hostip.info/get_html.php?ip=12.215.42.19&position=true 網站: http://www.digitalpoint.com/tools/geovis... http://www.geobytes.com/IpLocator.htm http://www.melissadata.com/lookups/iploc... http://www.ip2location.com/free.asp http://www.hostip.info/ http://www.networldmap.com/ TryIt.htm http://www.private.org.il/IP2geo.html http://www.internetfrog.com/ http://webtools.live2support.com/misc_lo... http://www.seomoz.org/ip2loc/ip2loc.php http://www.webyield.net/domainquery.html – 2013-03-05 16:17:42
另一個免費的REST API和城市精確信息將是http://freegeoip.net請求相當直接。你會使用類似
http://freegeoip.net/{format}/{ip_or_hostname}
進行地理編碼IP地址,其中格式可以是csv
,xml
或json
。他們的網站有所有的細節。
[更新:] FreeGeoIP.net在過去作爲一項公共服務並沒有持續存在。然而,該軟件始終是開源的,可在Github上獲得。如果您需要高度可靠的服務或您的用例超過每小時15.000個請求的當前配額,使用Docker運行本地安裝相當容易。
在我的網站上,我使用http://ip-api.com/來獲取IP地址的位置。 他們有很好的限制(每分鐘最多150個請求)。 Ipinfo.io免費只有少於1000個請求每天。
這是輸出示例:
(
[as] => AS8075 Microsoft Corporation
[city] => Redmond
[country] => United States
[countryCode] => US
[isp] => Microsoft bingbot
[lat] => 47.674
[lon] => -122.1215
[org] => Microsoft bingbot
[query] => 157.55.39.67
[region] => WA
[regionName] => Washington
[status] => success
[timezone] => America/Los_Angeles
[zip] => 98052
)
這是PHP代碼,你可以使用:
$ip = $_SERVER['REMOTE_ADDR'];
$result = json_decode(file_get_contents("http://ip-api.com/json/{$ip}"));
//print_r ($result);
echo "{$result->lat},{$result->lon}";//48.156,17.142
的
現在限制爲150,如果超出限制,他們會禁止你([證明](http://ip-api.com/docs/)) '我們的系統將自動禁止任何IP地址每分鐘處理超過150個請求。要取消你的IP請點擊這裏。「# – 2016-03-12 14:28:27
tnks @ValentineKonov,我已經更新了答案。 – 2016-06-15 07:46:57
只是爲了確認:與上面列出的一些相反,這一個仍然在運行。提供相當全面的提要。 – 2016-08-18 11:21:27
可能重複[如何確定從一個IP地址,郵政編碼及城市?(HTTP :// stackoverflow.com/questions/348614/how-to-determine-a-zip-code-and-city-from-an-ip-address) – 2010-07-12 21:48:51
@John Saunder,我其實不在乎郵編或者用戶所在的城市。我只是想知道他們的經度和緯度,以便我可以將我的地圖居中放在他們的家中。 – Tim 2010-07-12 21:52:12
你爲什麼認爲答案不同?所引用的API是否不返回經度和緯度? – 2010-07-12 21:55:54