定制 davidepastore/ipinfo 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

davidepastore/ipinfo

最新稳定版本:v0.7.0

Composer 安装命令:

composer require davidepastore/ipinfo

包简介

A wrapper around the ipinfo.io services

README 文档

README

Latest version Build Status Coverage Status Quality Score Total Downloads PSR2 Conformance

A wrapper around the ipinfo.io services.

Install

You can install the library using composer:

$ composer require davidepastore/ipinfo

How to use

Settings

Token

You can set your token when you instantiate the object but it's not mandatory.

$ipInfo = new DavidePastore\Ipinfo\Ipinfo(array( "token" => "your_api_key" ));

cURL options

The cURL options to use while trying to connect when you instantiate the object:

$ipInfo = new DavidePastore\Ipinfo\Ipinfo(array( "curlOptions" => array( CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_TIMEOUT => 2, CURLOPT_CAINFO => __DIR__ . "/cacert.pem" ) ));

Read details about the given ip

You can read all the properties from the given ip.

//Get all the properties $host = $ipInfo->getFullIpDetails("8.8.8.8"); //Get only a single property (this could save bandwidth) $city = $ipInfo->getSpecificField("8.8.8.8", DavidePastore\Ipinfo\Ipinfo::CITY);

Read details about your ip

You can read all the properties from your ip.

//Get all the properties $host = $ipInfo->getYourOwnIpDetails(); //Get only a single property (this could save bandwidth) $city = $ipInfo->getYourOwnIpSpecificField(DavidePastore\Ipinfo\Ipinfo::CITY);

Get info from the host

After obtaining the Host instance you can read all the properties or each of them individually.

//Read all the properties $city = $host->getCity(); $country = $host->getCountry(); $hostname = $host->getHostname(); $ip = $host->getIp(); $loc = $host->getLoc(); $org = $host->getOrg(); $phone = $host->getPhone(); $postal = $host->getPostal(); $region = $host->getRegion(); //Get the associative array with all the properties $properties = $host->getProperties();

Read only a field

There are different constants that you could use to read specific field value from an Ipinfo instance using the getSpecificField() and getYourOwnIpSpecificField() methods:

IpInfo::IP; //For the ip address IpInfo::HOSTNAME; //For the hostname IpInfo::LOC; //For the loc IpInfo::ORG; //For the org IpInfo::CITY; //For the city IpInfo::REGION; //For the region IpInfo::COUNTRY; //For the country IpInfo::PHONE; //For the phone IpInfo::POSTAL; //For the postal IpInfo::GEO; //For the geo info. See the paragraph below for more info

Read only the Geo data (which is faster)

By using the getIpGeoDetails() method you will get less fields. This call tends to be faster than getFullIpDetails() so use this call in case you only need the following fields:

IpInfo::IP; //For the ip address IpInfo::CITY; //For the city IpInfo::REGION; //For the region IpInfo::COUNTRY; //For the country IpInfo::PHONE; //For the phone IpInfo::POSTAL; //For the postal

These fields will be empty:

IpInfo::HOSTNAME; //For the hostname IpInfo::LOC; //For the loc IpInfo::ORG; //For the org

Error Handling

You can handle all the types of IpInfo exceptions by catching the IpInfoExceptionException:

use DavidePastore\Ipinfo\Exception\IpInfoExceptionException; try { $host = $ipInfo->getFullIpDetails("8.8.8.8"); } catch (IpInfoExceptionException $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

Invalid Token Exception

It could happen that the token you are using to make the API call is not valid. You can handle it by catching the InvalidTokenException:

use DavidePastore\Ipinfo\Exception\InvalidTokenException; try { $host = $ipInfo->getFullIpDetails("8.8.8.8"); } catch (InvalidTokenException $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

Rate Limit Exceed Exception

It could happen that your API call exceeds the rate limit. You can handle it by catching the RateLimitExceedException:

use DavidePastore\Ipinfo\Exception\RateLimitExceedException; try { $host = $ipInfo->getFullIpDetails("8.8.8.8"); } catch (RateLimitExceedException $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

Wrong Ip Exception

It could happen that your API call is trying to obtain info about a wrong ip. You can handle it by catching the WrongIpException:

use DavidePastore\Ipinfo\Exception\WrongIpException; try { $host = $ipInfo->getFullIpDetails("qwerty"); } catch (WrongIpException $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

Issues

If you have issues, just open one here.

统计信息

  • 总下载量: 112.68k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 53
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 53
  • Watchers: 12
  • Forks: 18
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固