Kuinka saada maantieteellinen sijainti IP: ltä PHP: ssä
Etsitkö tapaa hakea käyttäjän maantieteellinen sijainti IP-osoitteesta PHP: ssä? Maantieteellisen sijainnin avulla tiedät, missä verkkosivustosi kävijät ovat. Sitä voidaan käyttää kohdeyleisön tarkoituksiin. Käyttäjän sijainnin perusteella voit näyttää heille olennaisen sisällön.
Tiedämme paikantavan käyttäjän sijainnin. HTML5 Geolocation -sovellusliittymä on käytettävissä. Mutta tämä sovellusliittymä toimii lupaperusteisesti. Se avaa käyttäjän ja kysyy heidän käyttöoikeuksiaan, joten vain se toimii.
Tämän tilanteen voittamiseksi käytettävissä on yksi palvelu, joka on ipstack. Tässä artikkelissa tutkitaan, miten Geolocation saadaan IP: ltä PHP: ssä ipstack-palvelun avulla.
Hanki API-avain
Aloittamiseksi sinun on ensin rekisteröidyttävä ipstackiin. ipstack tarjoaa erilaisia palvelutasoja aina maksuttomasta yritystasoon. Jos käytät tätä palvelua ensimmäistä kertaa, suosittelemme ensin maksuttomia suunnitelmia. Tämän artikkelin kirjoittamisen aikana ilmainen palvelu sallii 10000 pyyntöä kuukaudessa. Tämä tarkoittaa, että voit tarkistaa 10000 IP: n maantieteellisen sijainnin ilmaiseksi kuukausittain.
Kun olet rekisteröitynyt ipstackiin, saat pääsyavaimesi. Tätä avainta tarvitaan, kun annamme API-kutsun ipstackille.
Alla on kuvakaappaus ipstack-hallintapaneelistasi, josta voit kopioida käyttöavaimen.
Hanki maantieteellinen sijainti IP: ltä PHP: ssä
Tässä vaiheessa olemme luoneet tilin ipstackilla ja saimme pääsyavaimen. Nyt voimme aloittaa heidän palvelunsa ja saada maantieteellisen sijainnin IP-osoitteesta. Koska meidän on annettava API-kutsu ipstackille, käytämme PHP cURL: ää API-puhelun antamiseen. Käyttäjä voi käyttää myös Guzzlea cURL: n sijaan.
Oletetaan, että meidän on löydettävä IP-osoitteen ‘103.47.153.189’ sijainti. Joten kirjoitamme sen koodin alla.
<?php
// set API Access Key
$access_key = 'YOUR_ACCESS_KEY';
// set phone number
$ip_address = '103.47.153.189';
// Initialize CURL:
$ch = curl_init('http://api.ipstack.com/'. $ip_address .'?access_key='. $access_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
?>
Vastineeksi saat vastauksen, kuten:
{
"ip":"103.47.153.189",
"type":"ipv4",
"continent_code":"AS",
"continent_name":"Asia",
"country_code":"IN",
"country_name":"India",
"region_code":"MH",
"region_name":"Maharashtra",
"city":"Pune",
"zip":"411001",
"latitude":18.5333,
"longitude":73.8667,
"location":{
"geoname_id":1259229,
"capital":"New Delhi",
"languages":[
{
"code":"hi",
"name":"Hindi",
"native":"u0939u093fu0928u094du0926u0940"
},
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http://assets.ipstack.com/flags/in.svg",
"country_flag_emoji":"ud83cuddeeud83cuddf3",
"country_flag_emoji_unicode":"U+1F1EE U+1F1F3",
"calling_code":"91",
"is_eu":false
}
}
Näet kuinka paljon tietoa voimme saada vain lähettämällä IP-osoitteen. Saamme melkein kaikki tarvittavat tiedot IP: ltä. Käyttäjä voi myös lähettää useita IP-osoitteita pilkuilla erotettuna.
Toivomme, että saatat oppia, miten voit saada maantieteellisen sijainnin IP: ltä PHP: ssä. Haluamme kuulla ajatuksesi alla olevassa kommenttiosassa.