Geolokasi dengan GeoIP2¶
Obyek GeoIP2
dibugnkus untuk MaxMind geoip2 Python library. [1]
In order to perform IP-based geolocation, the GeoIP2
object requires
the geoip2 Python library and the GeoIP Country
and/or City
datasets in binary format (the CSV files will not work!). Grab the
GeoLite2-Country.mmdb.gz
and GeoLite2-City.mmdb.gz
files and unzip them
in a directory corresponding to the GEOIP_PATH
setting.
Sebagai tambahan, sangat dianjurkan untuk memasang install libmaxminddb C library, sehingga geoip2
dapat mempengaruhi kecepatan tercepat pustaka C.
Contoh¶
Ini adalah sebuah contoh penggunaannya:
>>> from django.contrib.gis.geoip2 import GeoIP2
>>> g = GeoIP2()
>>> g.country('google.com')
{'country_code': 'US', 'country_name': 'United States'}
>>> g.city('72.14.207.99')
{'city': 'Mountain View',
'continent_code': 'NA',
'continent_name': 'North America',
'country_code': 'US',
'country_name': 'United States',
'dma_code': 807,
'is_in_european_union': False,
'latitude': 37.419200897216797,
'longitude': -122.05740356445312,
'postal_code': '94043',
'region': 'CA',
'time_zone': 'America/Los_Angeles'}
>>> g.lat_lon('salon.com')
(39.0437, -77.4875)
>>> g.lon_lat('uh.edu')
(-95.4342, 29.834)
>>> g.geos('24.124.1.80').wkt
'POINT (-97 38)'
Acuan API¶
-
class
GeoIP2
(path=None, cache=0, country=None, city=None)¶
Obyek GeoIP
tidak membutuhkan parameter apapun untuk menggunakan pengaturan awalan. Bagaimanapun, pada pengaturan GEOIP_PATH
sangat sedikit harus disetel dengan jalur dari tempat dari kumpulan data GeoIP anda. Kata kunci inisialisasi berikut mungkin digunakan untuk menyesuaikan apapun dari awalan.
Argumen Katakunci | Deskripsi |
---|---|
path |
Direktori dasar dimana data GeoIP ditempatkan atau jalur penuh dimana berkas data kota atau negara (.mmdb ) ditempatkan. Anggap dataset kedua kota dan negara ditempatkan dalam direktori ini; timpa pengaturan GEOIP_PATH . |
cache |
Pengaturan cache ketika membuka dataset GeoIP. Mungkin berupa integer dalam (0, 1, 2, 4, 8) berhubungan ke pengaturan API C MODE_AUTO , MODE_MMAP_EXT , MODE_MMAP , dan GEOIP_INDEX_CACHE MODE_MEMORY , masing-masing. Awalan pada 0 (MODE_AUTO ). |
country |
Nama dari berkas data negara GeoIP. Awalan pada GeoLite2-Country.mmdb . Mengatur kata kunci ini menimpa pengaturan GEOIP_COUNTRY . |
city |
Nama dari berkas data kota GeoIP. Awalan pada GeoLite2-City.mmdb . Mengatur kata kunci ini menimpa pengaturan GEOIP_CITY . |
Dukungan untuk jalur pathlib.Path
path
telah ditambahkan.
Cara¶
Instansiasi¶
-
classmethod
GeoIP2.
open
(path, cache)¶
Metode kelas ini memberi contoh obyek GeoIP dari jalur basisdata diberikan dan pengaturan cache diberikan.
Meminta¶
Semua permintaan rutin-rutin berikut mungkin mengambil slah satu sebuah string alamat IP atau fully qualified domain name (FQDN). Sebagai contoh, kedua '205.186.163.125'
dan 'djangoproject.com'
akan berupa parameter permintaan sah.
-
GeoIP2.
city
(query)¶
Mengembalikan sebuah dictionary dari informasi kota untuk permintaan yang diberikan. Beberapa dari nilai dalam dictionary mungkin belum ditentukan (None
).
-
GeoIP2.
country
(query)¶
Mengembalikan sebuah dictionary dengan kode negara dan negara untuk permintaan yang diberikan.
-
GeoIP2.
country_code
(query)¶
Mengembalikan kode negara terkait pada permintaan
-
GeoIP2.
country_name
(query)¶
Mengembalikan nama negara terkait pada permintaan
Pengambilan Kordinat¶
-
GeoIP2.
coords
(query)¶
Mengembalikan sebuah tuple kordinat dari (longitude, latitude).
-
GeoIP2.
lon_lat
(query)¶
Mengembalikan sebuah tuple kordinat dari (longitude, latitude).
-
GeoIP2.
lat_lon
(query)¶
Mengembalikan sebuah tuple kordinat dari (latitude, longitude),
-
GeoIP2.
geos
(query)¶
Mengembalikan obyek Point
terkait pada permintaan
Pengaturan¶
GEOIP_PATH
¶
A string or pathlib.Path
specifying the directory where the GeoIP data
files are located. This setting is required unless manually specified
with path
keyword when initializing the GeoIP2
object.
Dukungan untuk pathlib.Path
telah ditambahkan.
GEOIP_COUNTRY
¶
Namadasar untuk digunakan berkas data negara GeoIP. Nilai awal 'GeoLite2-Country.mmdb'
.
GEOIP_CITY
¶
Nama dasar digunakan untuk berkas data kota GeoIP. Awalan pada 'GeoLite2-City.mmdb'
.