
İçerikler
IP Adresi üzerinden konum bilgilerini alıp, web uygulamanız için ziyaretçi profili hazırlayabilirsiniz. Kullanacağımız API sistemi ile IP adresine göre gerçek zamanlı coğrafi konum bilgilerini kolaylıkla alabilirsiniz. API bilgileriyle kullanıcı profilini yanı sıra, kullanıcının bağlanmış olduğu şehre ait hava durumu gibi işlevsel özellikler ekleyebilirsiniz.
IP adresinden elde edilecek bilgiler için bir çok site ücretli hizmet sunmaktadır. Bu eğitimde kullanacağımız site aylık 10.000 sorgulamayı ücretsiz olarak vermektedir. Bu da yeterli bir değerdir. API kullanılarak elde edilecek olan bilgiler JSON yada XML olarak çıktı verilmektedir.
IP Adresi İçin API Anahtarı Alma
IP adresinden bilgilere ulaşmak için API anahtarına ihtiyaç vardır. API anahtarını ipstack sitesi üzerinden ücretsiz bir şekilde alabilirsiniz. Üyelik sonrasında sizi API anahtarının bulunduğu sayfaya yönlendirecektir. Uygulamalarınızı geliştirmek için bu kodu kullanabilirsiniz. Unutmamanız gereken konu aylık 10.000 sorgulama yapabilirsiniz.
API Temellendirme
Siteye kayıt olduktan sonra elde ettiğiniz anahtar kod ile bir URL değeri oluşturup bunu cURL ile göndermek yeterli olacaktır.
$ip = 'IP ADRESİNİ YAZINIZ'; $access_key = 'API ANAHTARI'; $apiURL = 'http://api.ipstack.com/'.$ip.'?access_key='.$access_key;
Yukarıdaki gibi bir başlangıç yaparak gerekli değerleri yazabilirsiniz. Bu değerleri eksiksiz bir şekilde doldurduktan sonra $apiURL
değerini cURL ile gönderip sonuç almak yeterli olacaktır.
API ile Elde Edilecek Olan Bilgileri
Aşağıda yer alan işlemleri gerçekleştirdiğinizde bir takım bilgiler dizi(array) şeklinde dönecektir. Bu değerler aşağıdaki gibi olacaktır.
- IP Adresi
- Tür
- Kıta Kodu
- Kıta Adı
- Ülke Kodu
- Ülke Adı
- Bölge Kodu
- Bölge Adı
- Şehir
- Posta kodu
- Enlem
- Boylam
- Konum
- Bölge adı
- Başkent
- Diller
- ülke bayrağı
- Telefon kodu
API Kullanımı ve Tam Sonuç Alma
Bilgilerin alınmasını istediğimiz IP adresini ve API anahtarı bilgilerini girdikten sonra cURL yardımıyla gelecek sonuçları alarak istediğiniz şekilde kullanabilirsiniz.
<?php $ip = 'IP ADRESİNİ YAZINIZ'; $access_key = 'API ANAHTARI'; $apiURL = 'http://api.ipstack.com/'.$ip.'?access_key='.$access_key; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiURL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $json_resp = curl_exec($ch); curl_close($ch); $api_result = json_decode($json_resp, true); print_r($api_result); ?>
Tam olarak yukarıdaki gibi kullandığınızda elde edilen sonuç $api_result
değişkeninde döndürülecektir. Dönen sonuç dizi biçiminde geleceği için print_r()
ile sonucu ekrana yazdırıp gelen değerlere bakabilirsiniz.
Array ( [ip] => IP ADRESİ [type] => ipv4 [continent_code] => AS [continent_name] => Asia [country_code] => TR [country_name] => Turkey [region_code] => 06 [region_name] => Ankara [city] => Ankara [zip] => 06100 [latitude] => 39.954719543457 [longitude] => 32.846939086914 [location] => Array ( [geoname_id] => 323786 [capital] => Ankara [languages] => Array ( [0] => Array ( [code] => tr [name] => Turkish [native] => Türkçe ) ) [country_flag] => http://assets.ipstack.com/flags/tr.svg [country_flag_emoji] => ?? [country_flag_emoji_unicode] => U+1F1F9 U+1F1F7 [calling_code] => 90 [is_eu] => ) )
API kullanıldığında yukarıdaki gibi bir sonuç elde edilecektir. İstediğiniz değeri diziden alarak rahatlıkla kullanabilirsiniz. Ücretsiz bir versiyon olduğu için aylık 10.000 sorgulama hakkınız bulunacaktır. Bu hakkı iyi kullanmaya çalışın.
Kısacası curl ile istek atıp response almayı göstermişsiniz sanırım İbrahim bey fakat bunu ip adresi kullanarak kimin nerede ne yaptığını sorgulamak olmuyor, sadece örnek oluyor.