PHP Dersleri

PHP ile İP Adresini Kullanarak Detaylı Bilgiler Alma

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.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kapalı