webklex/laravel-geoip

Laravel GeoIP 客户端

1.0.1 2020-10-17 23:48 UTC

This package is auto-updated.

Last update: 2024-09-11 00:52:11 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads Hits

描述

Laravel-GeoIP 通过使用GoGeoIP提供的开源 API,为您提供收集 IP 智能化的能力。

目录

安装

1.) 通过运行以下命令安装 Laravel-GeoIP 包

composer require webklex/laravel-geoip

2.) 如果您使用 Laravel >= 5.5,包发现将自动配置服务提供者和 GeoIP 别名。否则,对于 Laravel <= 5.4,编辑您的 config/app.php 文件并

  • 将以下内容添加到 providers 数组
\Webklex\LaravelGeoIP\Providers\GeoIPServiceProvider::class,
  • 将以下内容添加到 aliases 数组
'GeoIP' => \Webklex\LaravelGeoIP\Facades\GeoIP::class,

3.) 运行以下命令发布包配置文件 config/geoip.php

php artisan vendor:publish --provider="Webklex\LaravelGeoIP\Providers\GeoIPServiceProvider"

使用

基本使用示例

这是一个基本示例,将输出当前用户 IP 地址以及 IP 地址 "205.13.135.36" 的 geoip 信息。

use Webklex\LaravelGeoIP\Facades\GeoIP;

var_dump(GeoIP::current());
var_dump(GeoIP::get("205.13.135.36"));

如果您想使用自己的 GoGeoIP 实例,只需更新配置文件中提供的端点。

响应

{
  "network": {
    "ip": "208.13.138.36",
    "as": {
      "number": 209,
      "name": "CenturyLink Communications, LLC"
    },
    "isp": "",
    "domain": "",
    "tld": [".us"],
    "bot": false,
    "tor": false,
    "proxy": false,
    "proxy_type": "",
    "last_seen": 0,
    "usage_type": ""
  },
  "location": {
    "region_code": "NV",
    "region_name": "",
    "city": "Las Vegas",
    "zip_code": "89129",
    "time_zone": "America/Los_Angeles",
    "longitude": -115.2821,
    "latitude": 36.2473,
    "accuracy_radius": 20,
    "metro_code": 839,
    "country": {
      "code": "US",
      "cioc": "USA",
      "ccn3": "840",
      "call_code": ["1"],
      "international_prefix": "011",
      "capital": "Washington D.C.",
      "name": "United States",
      "full_name": "United States of America",
      "area": 9372610,
      "borders": ["CAN", "MEX"],
      "latitude": 39.443256,
      "longitude": -98.95734,
      "max_latitude": 71.441055,
      "max_longitude": -66.885414,
      "min_latitude": 17.831509,
      "min_longitude": -179.23108,
      "currency": [{
          "code": "USD",
          "name": ""
       }, {
          "code": "USN",
          "name": ""
       }, {
          "code": "USS",
          "name": ""
      }],
      "continent": {
        "code": "",
        "name": "North America",
        "sub_region": ""
      }
    }
  }
}

支持

如果您遇到任何问题或发现任何错误,请毫不犹豫地创建一个新的问题。但是请注意,可能需要一些时间才能得到答复。无关的、粗鲁的或攻击性的问题将被无通知删除。

如果您需要 立即商业 支持,请随时通过github@webklex.com给我发邮件。

一个小提醒

如果您在问题中编写源代码,请考虑正确格式化。这样会使它更容易阅读,人们也更可能评论并帮助您:)

``` php

echo 'your php code...';

```

将转换为

echo 'your php code...';

功能和拉取请求

每个人都可以为此项目做出贡献。每个拉取请求都会被考虑,但也可以拒绝。为了防止不必要的工作,如果您打算进行较大更改,请首先考虑创建一个 功能问题。当然,如果您只是希望一个功能,您也可以创建一个新的 功能问题

变更日志

请参阅CHANGELOG 了解最近的变化。

安全

如果您发现任何与安全相关的问题,请通过电子邮件github@webklex.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件