IPSquads官方PHP库,用于IP地址地理定位、时区、货币、网络及其他信息。

1.0.4 2020-10-17 17:01 UTC

This package is auto-updated.

Last update: 2024-09-18 02:03:43 UTC


README

Latest Version on Packagist Tests Total Downloads

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