ipwhois-io/ip-geolocation-api

为 https://ipwhois.io 提供的简单 php 封装

dev-master 2022-04-26 11:34 UTC

This package is auto-updated.

Last update: 2024-09-26 16:39:03 UTC


README

概述

IP 位置 API 服务旨在快速轻松地将访客 IP 位置集成到您的脚本或网站中。摆脱设置本地 GeoIP 库和定期更新的烦恼。我们的神经网络分析数十个来源,并几乎实时地更新数据库。

快速入门指南

您可以通过向 http://ipwho.is/{IP} 发送 HTTP GET 请求来调用 API

{IP} 可以是 IPv4 或 IPv6 地址,或留空以使用当前 IP 地址。

注意:关于使用此 API 的完整文档也可在 IP 位置 API 文档 中找到。

系统要求

运行此组件需要互联网连接。

基本用法

调用方法 get_ipwhois($ip, $format, $lang, $apiKey),传递 IP 地址作为参数(其余参数为可选),它将返回传递 IP 地址的地理位置。要自定义地理位置响应,可以将其他参数传递给以下 get_ipwhois() 方法

  • $format

    根据您的选择,ipwhois API 可以以以下格式提供结果
    • json(默认)
    • xml
  • $lang

    传递语言参数以获取除英语以外的地理位置信息。默认情况下,它设置为英语。
    ipwhois 支持以下语言的响应
    • en - 英语(默认)
    • de - 德语(德国)
    • es - 西班牙语
    • pt-BR - 西班牙语 - 阿根廷
    • fr - 法语
    • ja - 日语
    • zh-CN - 中国
    • ru - 俄语

示例

<?php
    $ip = "8.8.4.4"; // CLIENT IPADDRESS
    $apiKey = ""; // Leave blank for free endpoint
    $location = get_ipwhois($ip,'json','en',$apiKey);
    
    echo "<pre>";
    print_r($location);
    echo "</pre>";

    function get_ipwhois($ip, $format = "json", $lang = "en", $apiKey = "") {
        $url = "http://".($apiKey != '' ? 'ipwhois.pro' : 'ipwho.is')."/".$ip."?lang=".$lang.($apiKey != '' ? '&key='.$apiKey : '')."&output=".$format;
        $cURL = curl_init();
        curl_setopt($cURL, CURLOPT_URL, $url);
        curl_setopt($cURL, CURLOPT_HTTPGET, true);
        curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Accept: application/json'
        ));
        return json_decode(curl_exec($cURL),true);
    }
?>