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许可证。有关更多信息,请参阅许可文件。