这个网站服务器居然在刚果,确实让人想不到。提供了一个非常好的服务。这个api能够提供非常多的信息,除了基本的国家、省份和城市之外,还包括所处大洲、国家代码、地区ISO、街道信息、邮编、经纬度、时区、本国货币、移动服务商、是否移动端、是否使用了代理等等。
根据自己的需求选择要返回的参数。
自定义参数链接有两种形式,一种采用参数名叠加,另一种直接用数字。文档非常贴心地直接生成了转化链接。
当然,还能设置语言,可以添加语言post参数,这个就不多解释了。下面才是重点。
使用ip-api获得自己想要的信息
文档本身提供有使用示例
稍加修改就可以根据访客ip获得各种信息。下面只是抓取了访客的ip、所在国家、省份和城市。
// 获取真实ip function get_real_ip(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP']; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $ip = $_SERVER['REMOTE_ADDR']; // 和服务器握手的ip } return $ip; } // 下面是API的用法,文档链接:https://ip-api.com/docs/api:batch 页面底下有php的例子 $realip = get_real_ip(); $ips = [$realip]; $post_to_url = 'http://ip-api.com/batch'; // 获取全部参数(见文档) //$post_to_url = 'http://ip-api.com/batch?fields=status,message,country,regionName,city,proxy,query'; // 获取指定参数 $options = [ 'http' => [ 'method' => 'POST', 'user_agent' => 'Batch-Example/1.0', 'header' => 'Content-Type: application/json', 'content' => json_encode($ips) ] ]; $response = file_get_contents($post_to_url, false, stream_context_create($options)); // 抓取并返回页面内容 $ipinfo = json_decode($response, true); // 解码成数组形式 print_r($ipinfo);
打印结果:
至于想用这些数据做什么,主要看个人了。以上。
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载但请务必注明出处,尊重他人劳动成果。
转载请注明出处链接 : https://www.inlojv.com/5536.html