Jika saya ingin memberikan situs web dengan konten yang sesuai lokasi, cara apa yang dapat saya gunakan untuk menemukan lokasi kasar pengunjung menggunakan informasi IP atau header mereka?
Jika saya ingin memberikan situs web dengan konten yang sesuai lokasi, cara apa yang dapat saya gunakan untuk menemukan lokasi kasar pengunjung menggunakan informasi IP atau header mereka?
Jawaban:
Pertama, Anda harus tahu bahwa keakuratan layanan ini, dan akan selalu, rendah.
Kota MaxMind Geolite gratis . Jika tidak cukup baik, Anda tampaknya dapat meningkatkan ke versi berbayar yang lebih akurat. Saya tidak dapat berbicara untuk kualitas versi berbayar, karena saya belum pernah menggunakannya.
Jika Anda suka SQL, unduh versi CSV . Muat ke dalam basis data pilihan Anda, dan tinggalkan.
Opsi yang lebih cepat dan hemat-ruang adalah mengunduh versi gumpalan biner file dari database yang sama, dan kemudian menggunakan API khusus bahasa dari situs web yang sama untuk menanyakannya.
Atau, saya menemukan ipinfodb.com berguna. Permintaan adalah dengan GET HTTP sederhana. Misalnya, untuk melakukan geolokasi stackoverflow.com, cobalah:
http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211
Ini akan mengembalikan file XML yang berisi lintang dan bujur, yang terlihat seperti:
<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>
Lokasi yang Anda dapat simpulkan dari IP tidak terlalu andal (artinya kadang-kadang berfungsi).
Jika Anda ingin lokasi yang dapat diandalkan, pertimbangkan API geolokasi yang merupakan bagian dari HTML5 . Perhatikan, bagaimanapun, bahwa tidak semua browser web mendukungnya (belum).
Opsi yang berfokus pada dukungan seluler, meskipun juga berfungsi dengan baik pada sebagian besar browser desktop (kecuali untuk IE menurut pengalaman saya), adalah paket Geo-Location-Javascript yang membungkus API GeoLokasi HTML5 yang disebutkan Sean. Saya menemukan dukungan peramban seluler sangat buruk untuk API HTML5 (meskipun tidak mengejutkan, karena masih dalam konsep) jadi itulah mengapa saya memilih paket ini.
Hasil dari perangkat moblie cukup baik atas koneksi sel dan WiFi (dan GPS jika perangkat memilikinya). Browser desktop melaporkan posisi berbutir kasar yang sebanding dengan layanan lain.
Anda dapat menggunakan url ini dan memberikannya alamat IP. http://api.hostip.info/get_html.php?ip=84.32.32.44
Quova http://www.quova.com/ juga memiliki layanan. Saya berbicara dengan mereka kemarin di GeoLoco. Menurut mereka (jadi bawa dengan sebutir garam) mereka mengatakan mereka jauh lebih baik secara internasional daripada MaxMind. Mereka hampir sama di Amerika Utara.
Ketahuilah bahwa untuk ponsel IP mungkin akan memetakan ke mana saja Operator memiliki gateway mereka ke internet. Anda juga dapat mencoba menggunakan - http://www.loc-aid.com/ jika Anda menargetkan ponsel.
Google analytics menyediakan peta dasar dan statistik di lokasi pengunjung Anda. Tentu saja, Anda harus membagikan informasi ini dengan Google ...
ipinfodb.com baik tetapi mereka sedang offline :(
Saya menggunakan itu untuk api saya . Ini bagus untuk cuaca saya, tetapi saya tidak tahu sekarang sudah offline sejak kemarin.
Jika Anda ingin memberikan konten atau iklan berdasarkan lokasi geografisnya, Anda tidak dapat mengandalkan untuk mengambil data lokasi dari perangkat. Bahkan ketika mereka menggunakan ponsel, ada kemungkinan besar GPS dan wifi dimatikan, dan mereka harus memberikan izin untuk berbagi lokasi.
Itu seperti: "Hei, bisakah Anda membagikan lokasi Anda dengan saya sehingga saya dapat memberi Anda konten dan iklan yang menurut saya paling terkait dengan lokasi geografis Anda?" Tanggapan: "Tidak! Beri saya konten dan iklan terbaik yang Anda miliki di sana"
Satu-satunya cara untuk menemukan lokasi tanpa meminta izin kepada mereka adalah melalui Alamat IP mereka. Anda dapat menginstal database di server Anda sendiri dan menanyakannya untuk menemukan lokasi Alamat IP atau menggunakan API eksternal yang harus Anda query dan dapatkan hasilnya. Saya menggunakan api geolokasi ipgp dan bekerja dengan baik. ( http://www.ipgp.net/ip-address-geolocation-api/ )