ipwhois-io / ip-geolocation-api
为 https://ipwhois.io 提供的简单 php 封装
dev-master
2022-04-26 11:34 UTC
Requires
- php: ^5.5 || ^7.0
- ext-json: *
- guzzlehttp/guzzle: ~6.0
- nesbot/carbon: ~1.18
Requires (Dev)
- phpunit/php-code-coverage: ^6.0
- phpunit/phpunit: ^7
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); } ?>