Lebih
Bagaimana untuk mendapatkan Negara menurut IP tertentu?
Apakah ada yang tahu cara sederhana untuk mengambil negara untuk Alamat IP tertentu? Sebaiknya di ISO_3166-1 format?
58
14
Ada dua pendekatan: menggunakan layanan Internet dan menggunakan beberapa jenis dari daftar lokal (mungkin dibungkus di perpustakaan). Apa yang anda inginkan akan tergantung pada apa yang anda sedang membangun.
Untuk layanan:
Untuk daftar:
Format didokumentasikan di README ini
Banyak orang (termasuk perusahaan saya) tampaknya menggunakan MaxMind GeoIP.
Mereka memiliki versi gratis GeoLite yang tidak akurat seperti versi berbayar, tetapi jika anda're hanya setelah sesuatu yang sederhana, mungkin akan cukup baik.
Berikut ini's nice layanan gratis dengan API umum: http://www.hostip.info/use.html
ipinfodb menyediakan database gratis dan API untuk IP untuk negara dan sebaliknya. Mereka menggunakan data gratis dari MaxMind. Data akan diperbarui setiap bulan, dan itu's gratis alternatif dengan layak akurasi.
Saya don't tahu bagaimana akurat yang hostip.info lokasi hotel ini. Aku hanya mengunjungi situs tersebut, dan melaporkan bahwa negara saya adalah Kanada. I'm di AS dan ISP yang kantor saya menggunakan hanya beroperasi dari KAMI. Hal ini memungkinkan anda untuk memperbaiki itu's menebak, tetapi jika anda menggunakan layanan ini untuk melacak situs web vistors oleh negara, anda'll tidak memiliki cara untuk mengetahui apakah data tersebut sudah benar. Tentu saja, aku'm hanya satu titik data. Saya download GeoLite Negara database, yang hanya .file csv, dan alamat IP saya telah diidentifikasi dengan benar sebagai KITA.
Manfaat lain dari MaxMind lini produk (berbayar atau gratis) adalah bahwa anda memiliki data, anda don't dikenakan kinerja memukul membuat web service panggilan ke sistem lain.
Anda dapat menggunakan solusi yang disediakan untuk pertanyaan.
Tapi itu kembali 2 digit kode negara.
Yang paling akurat adalah Elemen Digital NetAcuity...tidak gratis tetapi anda mendapatkan apa yang anda bayar untuk sebagian besar waktu....Digital Element
google's clientlocation kembali (contoh)
Coba ini kode php
Anda dapat menggunakan layanan saya, http://ipinfo.io untuk ini. API kembali sejumlah besar rincian yang berbeda tentang sebuah alamat IP:
Jika anda're hanya setelah kode negara anda hanya perlu menambahkan /negara ke URL:
Berikut ini's generik fungsi PHP yang bisa anda gunakan:
I've digunakan IP 8.8.8.8 dalam contoh ini, tetapi jika anda ingin rincian untuk pengguna's IP hanya lulus dalam
$_SERVER['REMOTE_ADDR']
sebagai gantinya. Rincian lebih lanjut tersedia di http://ipinfo.io/developersanda dapat menggunakan layanan web API's yang melakukan pekerjaan ini seperti:
menggunakan fungsi ipToCountry($ip) dari http://www.mmtutorialvault.com/php-ip-to-country-function/
Anda dapat mencoba gratis [IP2Location LITE database][1]
Untuk membuat tabel di MySQL
Untuk mengimpor data
Kode PHP untuk query MySQL
Lihat ipdata.co yang memberikan anda beberapa poin data dari sebuah alamat ip.
API cukup cepat, dengan 10 global endpoint masing-masing mampu menangani >800M panggilan sehari-hari.
Berikut ini's curl contoh;