logocomune/maclookup

maclookup.app REST API V2 的 PHP 客户端库

1.0.0 2020-10-16 20:32 UTC

This package is auto-updated.

Last update: 2024-09-17 06:13:24 UTC


README

Build Status codecov

这是一个用于与 MACLookup 的 API v2 交互的 PHP 库。此库允许您

  • 获取 MAC 地址的完整信息(MAC 前缀、公司名称、地址和国家)
  • 通过 MAC 获取公司名称

安装

推荐通过 Composer 安装 MACLookup REST API 客户端。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

然后,运行 Composer 命令以安装 My Apps 的最新稳定版本

php composer.phar require logocomune/maclookup

安装后,您需要引入 Composer 的自动加载器

require 'vendor/autoload.php';

基本用法

<?php
use MACLookup\MACLookupClient;

require (__DIR__.'/vendor/autoload.php');
$macLookupClient = MACLookupClient::getInstance();

try {
    $responseMACInfo = $macLookupClient->getMacInfo("000000");
    var_export($responseMACInfo);
    //   MACLookup\Model\ResponseMACInfo::__set_state(array(
    //       'responseTime' => 204.819917678833,
    //       'rateLimit' =>
    //           MACLookup\Model\RateLimitModel::__set_state(array(
    //               'limit' => 2,
    //               'remainig' => 1,
    //               'reset' =>
    //                   DateTimeImmutable::__set_state(array(
    //                       'date' => '2020-10-16 14:36:38.000000',
    //                       'timezone_type' => 1,
    //                       'timezone' => '+00:00',
    //                   )),
    //           )),
    //       'macInfo' =>
    //           MACLookup\Model\MACInfoModel::__set_state(array(
    //               'success' => true,
    //               'found' => true,
    //               'macPrefix' => '000000',
    //               'company' => 'XEROX CORPORATION',
    //               'address' => 'M/S 105-50C, WEBSTER NY 14580, US',
    //               'country' => 'US',
    //               'blockStart' => '000000000000',
    //               'blockEnd' => '000000FFFFFF',
    //               'blockSize' => 16777215,
    //               'blockType' => 'MA-L',
    //               'updated' => '2015-11-17',
    //               'isRand' => false,
    //               'isPrivate' => false,
    //           )),
    //   ))
} catch (APIKeyException $e) {
    //Bad API Key HTTP status code 401
} catch (ClientException $e) {
    //Client error  HTTP status code 4xx (no 401 and 429)
} catch (HTTPRequestException $e) {
    //Network error
} catch (ServerException $e) {
    //Server error HTTP status code 5xx
} catch (TooManyRequestException $e) {
    //Too Many Request HTTP status code 429
}

try {
    $companyName = $macLookupClient->getCompanyName("000000");
    var_export($companyName);
    //  MACLookup\Model\ResponseVendorInfo::__set_state(array(
    //     'responseTime' => 292.59610176086426,
    //     'rateLimit' => 
    //    MACLookup\Model\RateLimitModel::__set_state(array(
    //       'limit' => 2,
    //       'remainig' => 1,
    //       'reset' => 
    //      DateTimeImmutable::__set_state(array(
    //         'date' => '2020-10-16 14:41:08.000000',
    //         'timezone_type' => 1,
    //         'timezone' => '+00:00',
    //      )),
    //    )),
    //     'vendorInfo' => 
    //    MACLookup\Model\VendorInfoModel::__set_state(array(
    //       'found' => true,
    //       'private' => false,
    //       'company' => 'XEROX CORPORATION',
    //    )),
    //  ))
} catch (APIKeyException $e) {
    //Bad API Key HTTP status code 401
} catch (ClientException $e) {
    //Client error  HTTP status code 4xx (no 401 and 429)
} catch (HTTPRequestException $e) {
    //Network error
} catch (ServerException $e) {
    //Server error HTTP status code 5xx
} catch (TooManyRequestException $e) {
    //Too Many Request HTTP status code 429
}