Kuidas saada geograafilist asukohta IP-st PHP-s
Kas otsite viisi, kuidas hankida kasutaja geograafiline asukoht PHP IP-aadressilt? Geolokatsiooni kasutades teaksite, kus teie veebisaidi külastajad asuvad. Seda saab kasutada sihtrühma jaoks. Kasutaja asukoha põhjal saate neile asjakohast sisu näidata.
Teame, et leida kasutaja positsioon. HTML5 geolokatsiooni API on saadaval. Kuid see API töötab loa alusel. See avab kasutaja hüpikakna ja küsib tema õigusi, siis ainult see töötab.
Selle olukorra ületamiseks on saadaval üks teenus, mis on ipstack. Selles artiklis uurime, kuidas saada IPstacki teenuse abil geograafiline asukoht IP-st PHP-s.
Hankige API võti
Alustamiseks peate esmalt registreeruma ipstackis. ipstack pakub erinevaid teenustasemeid alates tasuta kuni ettevõtte tasemeni. Kui kasutate seda teenust esimest korda, soovitame kõigepealt kasutada tasuta plaane. Selle artikli kirjutamise ajal lubab tasuta teenus 10000 taotlust kuus. See tähendab, et saate iga kuu tasuta kontrollida 10000 IP-i geograafilist asukohta.
Kui olete ipstackis registreerunud, saate oma pääsuvõtme. See võti on vajalik, kui anname IPstackile API-kõne.
Allpool on ekraanipilt teie ipstacki juhtpaneelilt, kuhu saate pääsuvõtme kopeerida.
Hankige geograafiline asukoht IP-st PHP-s
Sel hetkel oleme loonud konto ipstackiga ja saime oma pääsuvõtme. Nüüd saame hakata kasutama nende teenust ja hankida geograafilise asukoha IP-aadressilt. Kuna peame IPstackile API-kõne tegema, kasutaksime API-kõne tegemiseks PHP cURL-i. Kasutaja saab cURLi asemel kasutada ka Guzzle’i.
Oletame, et peame leidma IP-i geograafilise asukoha ‘103.47.153.189’. Nii kirjutame selle koodi allpool.
<?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);
?>
Vastutasuks saate vastuse nagu:
{
"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
}
}
IP-aadressi saatmisega näete, kui palju teavet saame. Me saame peaaegu kogu vajamineva teabe IP-st. Kasutaja võib saata mitu IP-d komadega eraldatult.
Loodetavasti saate teada, kuidas saada geograafilist asukohta IP-st PHP-s. Soovime teie mõtteid kuulda allpool olevas kommentaaride jaotises.