阿里云ip地址

<?php
 function getClientIp()
 {
     if (isset($_SERVER)) {
         if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
             $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
 
             foreach ($arr as $ip) {
                 $ip = trim($ip);
 
                 if ($ip != 'unknown') {
                     $realip = $ip;
                     break;
                 }
             }
         } else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
             $realip = $_SERVER['HTTP_CLIENT_IP'];
         } else if (isset($_SERVER['REMOTE_ADDR'])) {
             $realip = $_SERVER['REMOTE_ADDR'];
         } else {
             $realip = '0.0.0.0';
         }
     } else if (getenv('HTTP_X_FORWARDED_FOR')) {
         $realip = getenv('HTTP_X_FORWARDED_FOR');
     } else if (getenv('HTTP_CLIENT_IP')) {
         $realip = getenv('HTTP_CLIENT_IP');
     } else {
         $realip = getenv('REMOTE_ADDR');
     }
 
     preg_match('/[\\d\\.]{7,15}/', $realip, $onlineip);
     $realip = (!empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0');
     return $realip;
 }
    $ip = getClientIp();
    $host = "https://ipaddquery.market.alicloudapi.com";
    $path = "/ip/address-query";
    $method = "POST";
    $appcode = "";
    $headers = array();
    array_push($headers, "Authorization:APPCODE " . $appcode);
    //根据API的要求,定义相对应的Content-Type
    array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
    $querys = "";
    $bodys = "ip=".$ip;
    $url = $host . $path;

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_FAILONERROR, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    //设定返回信息中是否包含响应信息头,启用时会将响应信息头作为数据流输出,true 表示输出信息头, false表示不输出信息头
    //如果想把响应结果json字符串转为json数组,建议将 CURLOPT_HEADER 设置成 false
    curl_setopt($curl, CURLOPT_HEADER, false);
    if (1 == strpos("$".$host, "https://"))
    {
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    }
    curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
    $res = json_decode(curl_exec($curl),true);
    $city = $res['data']['region'].$res['data']['city'];
    //var_dump('<pre>',$res);
?>
posted @ 2022-03-11 17:43  奋斗小青年1  阅读(399)  评论(0)    收藏  举报