ipsquads / php
IPSquads官方PHP库,用于IP地址地理定位、时区、货币、网络及其他信息。
1.0.4
2020-10-17 17:01 UTC
Requires
- php: ^7.1.3
- symfony/cache: 4.4.15
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^7.5.16
- vimeo/psalm: ^3.11
README
IPSquads PHP库,用于IP地址地理定位、时区、货币及其他信息。
公司如何使用IP Squads API?
IPSquads正在帮助许多公司和组织解决各种用例。
- 内容本地化
- 分析
- 欺诈预防
- 精准在线广告
- 地理权管理
入门
默认情况下,如果没有传递访问密钥,每分钟最多20个请求会被限制。您可以通过获取一个免费的访问密钥来移除此限制,每天可以进行1000次无限制的请求。
如果您是非营利组织,您可以请求增加此限制。您可以给我们发送邮件至support@ipsquads.com。
如果您需要每天超过1000次的升级,您可以选择以下计划:https://ipsquads.com/product/
安装
为了开始使用,
您可以通过composer安装此包
composer require ipsquads/php
用法
获取IP地址的所有详细信息。
use Ipsquads\Php\IPSquads; $access_key = 'FREE'; $ip_squads = new IPSquads($access_key); $ip_data = $ip_squads->getDetails('54.70.143.245');
JSON表示
{ "ip_address": "54.70.143.245", "ip_type": "IPv4", "country_name": "United States", "country_code": "US", "country_languages": "en-US,es-US,haw,fr", "continent_code": "NA", "continent_name": "North America", "city": "Boardman", "zip": "97818", "region_name": "Oregon", "region_code": "USOR", "latitude": 45.83986, "longitude": -119.70058, "asn": { "asn": 16509, "asn_org": "AMAZON-02" }, "location": { "is_eu": false, "postal_regex": "^d{5}(-d{4})?$", "capital": "Washington", "calling_code": "1" }, "timezone": { "code": "America/Los_Angeles", "dst_offset": -7, "gmt_offset": -8, "current_time": "2020-10-12T22:52:09.911223+05:30", "current_time_unix": "1602523329.911223" }, "currency": { "name": "Dollar", "code": "USD" } }
仅获取货币详情
如果您只对货币详情感兴趣,可以使用以下方法。
use Ipsquads\Php\IPSquads; $access_key = 'FREE'; $ip_squads = new IPSquads($access_key); $ip_data = $ip_squads->getCurrencyDetails('54.70.143.245');
仅获取时区详情
如果您只想根据IP地址获取访客的时区详情,可以使用以下方法。
use Ipsquads\Php\IPSquads; $access_key = 'FREE'; $ip_squads = new IPSquads($access_key); $ip_data = $ip_squads->getTimezoneDetails('54.70.143.245');
仅获取网络详情
如果您只想获取IP地址的网络详情,可以使用以下方法。
use Ipsquads\Php\IPSquads; $access_key = 'FREE'; $ip_squads = new IPSquads($access_key); $ip_data = $ip_squads->getNetworkDetails('54.70.143.245');
缓存
默认情况下,从IPSquads服务器返回的任何结果都会进行缓存,以便快速访问并防止您不必要地使用更多积分。
在底层,此SDK使用symfony/cache库进行缓存。
缓存的默认TTL为3600秒。如果您想增加或减少此限制,可以通过修改IPSquads初始化的方式来实现。
use Ipsquads\Php\IPSquads; $access_key = 'FREE'; $settings = [ 'expires_after' => '1000' ]; $ip_squads = new IPSquads($access_key, $settings);
缓存适配器
默认情况下使用FilesystemAdapter缓存。如果您想使用symfony/cache库的其他适配器,可以通过传递缓存适配器的实例来实现。要查看可用的缓存适配器,请点击这里。
use Ipsquads\Php\IPSquads; use Symfony\Component\Cache\Adapter\ApcuAdapter; $access_key = 'FREE'; $settings = [ 'cache_adapter' => (new ApcuAdapter) ]; $ip_squads = new IPSquads($access_key, $settings);
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅我们的安全策略。
鸣谢
许可
Apache许可证。有关更多信息,请参阅许可文件。