PHP-клиент для подключения к сервисам API, предоставляемым BigDataCloud.
BigDataCloud предлагает ряд чрезвычайно полезных и быстрых API-интерфейсов, которые можно использовать как во внутренних, так и во внешних сценариях. BigDataCloud предлагает API, соответствующий вашим потребностям: от проверки ввода данных клиентами в режиме реального времени до нового поколения технологии IP-геолокации.
Вы можете получить доступ к любому API BigDataCloud с помощью бесплатного ключа API. Чтобы получить ключ API, просто войдите в свою учетную запись и получите его на панели управления учетной записью. Если вы еще не являетесь клиентом, присоединиться можно совершенно бесплатно.
Все API BigDataCloud объединены в пять различных пакетов API. Каждый пакет API имеет свои собственные планы подписки и цены.
Более подробную информацию можно найти на странице соответствующих пакетов API.
Документацию по этому клиенту API можно найти ниже. Для получения более подробной документации по доступным API, включая конечные точки, данные запросов и ответов, посетите соответствующую страницу пакета API.
Чтобы использовать этот клиент API, у вас должен быть ключ API BigDataCloud. Чтобы получить личный ключ, просто войдите в свою учетную запись и получите его на панели управления учетной записью. Если вы еще не являетесь клиентом, присоединиться можно совершенно бесплатно.
Просто укажите этот ключ при запуске php api client , и он будет включен во все запросы к API-серверу BigDataCloud. См. пример ниже.
composer require bigdatacloudapi/php-api-client
<?php
//Installed via Composer
require_once __DIR__ . ' /vendor/autoload.php ' ;
//Installed manually
//Using composer installed location for example, simply reference the /src/Client.php where extracted/installed instead.
//require_once __DIR__ . '/vendor/bigdatacloudapi/php-api-client/src/Client.php';
$ apiKey = " XXX " ; // Your api key found at: https://www.bigdatacloud.com/account
$ client = new BigDataCloud Api Client ( $ apiKey );
/*
Can specify the api endpoint using either camelised magic methods, or by calling the communicate command directly.
Example magic method: "GET" from "ip-geolocation-full" endpoint becomes: getIpGeolocationFull();
*/
//$result=$client->communicate('ip-geolocation-full','GET',['ip'=>'8.8.8.8']);
$ result = $ client -> getIpGeolocationFull ([ ' ip ' => ' 8.8.8.8 ' ]);
var_dump ( $ result );
{
"ip" : "8.8.8.8" ,
"country" : {
"isoAlpha2" : "US" ,
"isoAlpha3" : "USA" ,
"m49Code" : 840 ,
"isoName" : "United States of America (the)" ,
"isoAdminLanguages" : [
{
"isoAlpha3" : "eng" ,
"isoAlpha2" : "en" ,
"isoName" : "English"
}
] ,
"unRegion" : "Americas/Northern America" ,
"currency" : {
"numericCode" : 840 ,
"code" : "USD" ,
"name" : "US Dollar" ,
"minorUnits" : 2
} ,
"wbRegion" : {
"id" : "NAC" ,
"iso2Code" : "XU" ,
"value" : "North America"
} ,
"wbIncomeLevel" : {
"id" : "HIC" ,
"iso2Code" : "XD" ,
"value" : "High income"
} ,
"callingCode" : "1" ,
"countryFlagEmoji" : "??"
} ,
"location" : {
"isoPrincipalSubdivision" : "California" ,
"isoPrincipalSubdivisionCode" : "US-CA" ,
"city" : "Mountain View" ,
"postcode" : "94043" ,
"latitude" : 37.42 ,
"longitude" : - 122.09 ,
"timeZone" : {
"ianaTimeId" : "America/Los_Angeles" ,
"displayName" : "(UTC-08:00) Pacific Time (US & Canada)" ,
"effectiveTimeZoneFull" : "Pacific Daylight Time" ,
"effectiveTimeZoneShort" : "PDT" ,
"UtcOffsetSeconds" : - 25200 ,
"UtcOffset" : "-07" ,
"isDaylightSavingTime" : true ,
"localTime" : "2019-04-06T04:06:39.1691744"
}
} ,
"lastUpdated" : "2019-04-06T09:09:36.1877959Z" ,
"network" : {
"registry" : "ARIN" ,
"registryStatus" : "assigned" ,
"registeredCountry" : "US" ,
"registeredCountryName" : "United States of America (the)" ,
"organisation" : "Google LLC" ,
"isReachableGlobally" : true ,
"isBogon" : false ,
"bgpPrefix" : "8.8.8.0/24" ,
"bgpPrefixNetworkAddress" : "8.8.8.0" ,
"bgpPrefixLastAddress" : "8.8.8.255" ,
"totalAddresses" : 256 ,
"carriers" : [
{
"asn" : "AS15169" ,
"asnNumeric" : 15169 ,
"organisation" : "Google LLC" ,
"name" : "GOOGLE" ,
"registry" : "ARIN" ,
"registeredCountry" : "US" ,
"registeredCountryName" : "United States of America (the)" ,
"registrationDate" : "2000-03-30" ,
"registrationLastChange" : "2012-02-25" ,
"totalIpv4Addresses" : 8698103 ,
"totalIpv4Prefixes" : 435 ,
"totalIpv4BogonPrefixes" : 0 ,
"rank" : 53 ,
"rankText" : "#53 out of 62,872"
}
] ,
"viaCarriers" : [
{
"asn" : "AS7018" ,
"asnNumeric" : 7018 ,
"organisation" : "ATT Services Inc." ,
"registeredCountry" : "US" ,
"registeredCountryName" : "United States of America (the)" ,
"rank" : 2
} ,
/*........*/
{
"asn" : "AS31019" ,
"asnNumeric" : 31019 ,
"organisation" : "Paulus M. Hoogsteder trading as Meanie" ,
"registeredCountry" : "NL" ,
"registeredCountryName" : "Netherlands (the)" ,
"rank" : 51153
}
]
} ,
"confidence" : "low" ,
"confidenceArea" : [
{
"latitude" : 18.0256672 ,
"longitude" : - 66.5275345
} ,
/*........*/
{
"latitude" : 18.0256672 ,
"longitude" : - 66.5275345
}
] ,
"securityThreat" : "unknown" ,
"hazardReport" : {
"isKnownAsTorServer" : false ,
"isKnownAsProxy" : false ,
"isKnownAsMailServer" : false ,
"isKnownAsPublicRouter" : false ,
"isBogon" : false ,
"isUnreachable" : false
}
}