IP adresi Kullanıcı şehri ve ülkeyi belirlemek için kullanılabilir herhangi Güvenilir API

8 Cevap php

Heyy çocuklar

Kimsenin onun IP adresinden kullanıcının şehri ve ülkeyi belirlemek için kullanabileceğiniz güvenilir bir API bilen varsa kontrol etmek istedim.

Google'da My arama http://ipinfodb.com/ip_location_api.php yol açtı

It seems perfect but my only concern is the reliability of this service. Does google have anything like this. If you know any other Free or paid API's that help determine user's location from his IP - please let me know

THanks

8 Cevap

I http://www.hostip.info/ kullanılmış ve gerçekten çok iyi buldum.

MaxMind has a lite version of their ip2country and ip2city databases: http://www.maxmind.com/app/geolitecity

http://www.maxmind.com/app/geolitecountry

If you don't mind hosting the database yourself, it's free. The paid services are more accurate.

They also provide web services for querying, but it is not free: http://www.maxmind.com/app/web_services#country

Her IP konum ISP tarafından sunulan kayıtlarına bağlıdır. Birçok ISP'ler görev yerini yerine farklı bir şehir ya da ülkede olabilir kendi alt ağların fiziksel konumları göndermek çünkü bu tamamen güvenilir olmayacak.

geoplugin, tek bir satırı PHP kodu en çok bilgi sağlar, ancak her istek için geoplugin.com sunucuya bir bağlantı gerektirir (ve ücretsiz) kullanmayı düşünün.

Examples :

Json: http://www.geoplugin.net/json.gp?ip=74.125.236.174

{
geoplugin_request: "74.125.236.174",
geoplugin_status: 200,
geoplugin_city: "Mountain View",
geoplugin_region: "CA",
geoplugin_areaCode: "650",
geoplugin_dmaCode: "807",
geoplugin_countryCode: "US",
geoplugin_countryName: "United States",
geoplugin_continentCode: "NA",
geoplugin_latitude: "37.419201",
geoplugin_longitude: "-122.057404",
geoplugin_regionCode: "CA",
geoplugin_regionName: "California",
geoplugin_currencyCode: "USD",
geoplugin_currencySymbol: "$",
geoplugin_currencySymbol_UTF8: "$",
geoplugin_currencyConverter: 1
}

Xml: http://www.geoplugin.net/xml.gp?ip=74.125.236.174

<geoPlugin>
<script/>
<geoplugin_request>74.125.236.174</geoplugin_request>
<geoplugin_status>200</geoplugin_status>
<geoplugin_city>Mountain View</geoplugin_city>
<geoplugin_region>CA</geoplugin_region>
<geoplugin_areaCode>650</geoplugin_areaCode>
<geoplugin_dmaCode>807</geoplugin_dmaCode>
<geoplugin_countryCode>US</geoplugin_countryCode>
<geoplugin_countryName>United States</geoplugin_countryName>
<geoplugin_continentCode>NA</geoplugin_continentCode>
<geoplugin_latitude>37.419201</geoplugin_latitude>
<geoplugin_longitude>-122.057404</geoplugin_longitude>
<geoplugin_regionCode>CA</geoplugin_regionCode>
<geoplugin_regionName>California</geoplugin_regionName>
<geoplugin_currencyCode>USD</geoplugin_currencyCode>
<geoplugin_currencySymbol>&#36;</geoplugin_currencySymbol>
<geoplugin_currencySymbol_UTF8>$</geoplugin_currencySymbol_UTF8>
<geoplugin_currencyConverter>1</geoplugin_currencyConverter>
</geoPlugin>

Diğer seçenekler

Bir anlamda, güvenilir bir user yerini bilemez. Diğer cevaplar sağlamak ipuçlarını kullanarak size bir IP geolocation vermek, ama New York ABD o IP adresi Londra, İngiltere, ya da bir iş gezisi birinden bir VPN aracılığıyla erişilen olmadığını bilmek için hiçbir yolu yoktur olacak Birisi gibi bir anonymizing servisini kullanarak olsun Tor.

http://ipinfo.io konum bilgilerini, hostname ve JSON formatında bazı diğer ayrıntıları, örneğin içerir:

$ Kıvırmak ipinfo.io/8.8.8.8

{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "CA",
  "country": "US",
  "phone": 650
}

Eğer bir geoip veritabanının kurulumu yerel bir kopyasını her zaman olabilir, bir web hizmeti güvenilirliği hakkında endişeleriniz varsa. GeoIPLite ücretsiz Maxmind teklif.

Google böyle bir şey var mı.

Hayır, Google buna benzer bir hizmet sunmamaktadır. (Bunu sağlamaz iddia burada cevap, hiçbir neden olduğunu unutmayın).

Any other Free or paid API's that help determine user's location from his IP

Her şeyden önce bu tür hizmet güvenilirliği hakkında konuşmak zordur. Hizmetlerin çoğu kendi veri almak için ISP güveniyor ve ISS her zaman güvenilir veri sağlamaz. Ben temelde sizin kullanıcının yerini (ve onun IP ait ne konum) umurunda olduğunu varsayıyorum üstelik, çünkü kullanıcı ya VPN, Tor veya diğer anonymisers vasıtasıyla onun yerini gizlemek için karar verebilirsiniz.

Lütfen bazı yorumlarda, ben güvenilir ederek API sağlayıcının çalışma süresini demektir gördük. Eğer öyleyse, ben tavsiye ederim daha MaxMind's GeoIP2. Her şeyden önce, ben uzun zamandır bu siteyi gördük, onlar kesinti çok korkuyorlar üstelik eğer, (son güncelleme 1-st Nisan 2014) oldukça sık güncellenen - yapabilirsiniz download their database ve güvenmeyin onlara (da onlar ücretsizdir).

Ben aslında böyle başka bir servis is less known and opensource (kısmen MaxMind verilere dayanmaktadır). Ben sadece bir kaç kez kullanmış, bu yüzden çalışma süresi bulunuyor hakkında söyleyemeyiz, ama gerçekten Psikofarmakolojik API seviyorum. Bu basit ile gelip zor olduğunu, çok basit:

http://www.telize.com/geoip/46.19.37.108 

ya da bunun gibi

http://www.telize.com/geoip/2a02:2770::21a:4aff:feb3:2ee

verecek

{
"country":"Netherlands",
"dma_code":"0",
"timezone":"Europe\/Amsterdam",
"area_code":"0",
"ip":"46.19.37.108",
"asn":"AS196752",
"continent_code":"EU",
"isp":"Tilaa V.O.F.",
"longitude":5.75,
"latitude":52.5,
"country_code":"NL",
"country_code3":"NLD"
}

Ben bu iki hizmetleri ziyaretçi normal bilgi almak için oldukça yeterli olduğunu düşünüyorum. Ama önemli bir şey. Ile onlara sormak neden html5 geolocation - Eğer gerçekten kullanıcıların nereden geldiğini bilmek gerekir? İşte nice example, ancak (yerin doğru olup olmadığını onlara sormak ve onları değiştirmek için yeteneği vermek) daha ileri gidebilirsiniz. Ben sizin durumunuzda sadece Ülke / Şehir gerektiğini biliyorum, ama diğer insanlar bunu ihtiyacınız olacak olabilir.