نمونه کدهای ارسال درخواست و دریافت پاسخ به زبان PHP


در این بخش سعی کرده ایم تا نمونه کدهای مورد نیاز برای استفاده در زبان PHP را برای شما عزیزان فراهم نماییم. ممکن است برای کاربردهای خاص و یا افزایش دقت در عملیات ، این کدها نیاز به تغییر داشته باشند. لذا پیشنهاد می نماییم به استفاده از این نمونه ها بسنده نکرده و در صورت نیاز آنها را به دلخواه خود تغییر دهید.

نمونه کد ارسال درخواست به API :
<?php
function get_ip_address(){
    foreach ( array('HTTP_CLIENT_IP',
                    'HTTP_X_FORWARDED_FOR',
                    'HTTP_X_FORWARDED',
                    'HTTP_X_CLUSTER_CLIENT_IP',
                    'HTTP_FORWARDED_FOR',
                    'HTTP_FORWARDED',
                    'REMOTE_ADDR')
    as $key ) {
        if (array_key_exists($key, $_SERVER) === true) {
            foreach (explode(',', $_SERVER[$key]) as $ip) {
                $ip = trim($ip);
                if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) {
                    return $ip;
                }
            }
        }
    }
}

$user_ip = get_ip_address();
$api_key = 'LHAa8mXVT6YYwVpCqLDRFkuiQuDIelQZ'; // Replace this value with your own API key


// You can use one of the 2 methods below. If you use both of them, you asked API 2 times.

// Method 1
$output = file_get_contents('https://www.ip2info.ir/api/'.$api_key.'/'.$user_ip.'/json/');

// Method 2
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.ip2info.ir/api/'.$api_key.'/'.$user_ip.'/json/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
?>
نمونه کد تحلیل خروجی نوع text :
<?php
$output_array = explode('/' , $output);
$country_code = $output_array[0];
$country_name = $output_array[1];
$province = $output_array[2];
$city = $output_array[3];
$continent = $output_array[4];
$currency = $output_array[5];
$timezone = $output_array[6];
$latitude = $output_array[7];
$longitude = $output_array[8];
?>
نمونه کد تحلیل خروجی نوع json :
<?php
$output_array = json_decode($output, true);
$country_code = $output_array['country_code'];
$country_name = $output_array['country_name'];
$province = $output_array['province'];
$city = $output_array['city'];
$continent = $output_array['continent'];
$currency = $output_array['currency'];
$timezone = $output_array['timezone'];
$latitude = $output_array['latitude'];
$longitude = $output_array['longitude'];
?>
نمونه کد تحلیل خروجی نوع xml :
<?php
$output_array = simplexml_load_string($output);
$country_code = $output_array->root[0]->country_code;
$country_name = $output_array->root[0]->country_name;
$province = $output_array->root[0]->province;
$city = $output_array->root[0]->city;
$continent = $output_array->root[0]->continent;
$currency = $output_array->root[0]->currency;
$timezone = $output_array->root[0]->timezone;
$latitude = $output_array->root[0]->latitude;
$longitude = $output_array->root[0]->longitude;
?>

دقت نمایید که مثال های فوق برای پلن ویژه فرض شده اند و در سایر پلن ها ، پاسخ های کمتری را دریافت خواهید نمود. بنابراین اگر از پلن ویژه استفاده نمی کنید ، کدهای فوق را بر حسب نیاز اصلاح نمایید.

بازگشت به بلاگ