\GeoIp2\WebServiceClient

This class provides a client API for all the GeoIP2 Precision web services.

The services are Country, City, and Insights. Each service returns a different set of data about an IP address, with Country returning the least data and Insights the most.

Each web service is represented by a different model class, and these model classes in turn contain multiple record classes. The record classes have attributes which contain data about the IP address.

If the web service does not return a particular piece of data for an IP address, the associated attribute is not populated.

The web service may not return any information for an entire record, in which case all of the attributes for that record class will be empty.

Usage

The basic API for this class is the same for all of the web service end points. First you create a web service object with your MaxMind $accountId and $licenseKey, then you call the method corresponding to a specific end point, passing it the IP address you want to look up.

If the request succeeds, the method call will return a model class for the service you called. This model in turn contains multiple record classes, each of which represents part of the data returned by the web service.

If the request fails, the client class throws an exception.

Summary

Methods
Properties
Constants
__construct()
city()
country()
insights()
No public properties found
VERSION
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

VERSION

VERSION = 'v2.11.0'

Methods

__construct()

__construct(int  $accountId, string  $licenseKey, array  $locales = ['en'], array  $options = []) : mixed

Constructor.

Parameters

int $accountId

your MaxMind account ID

string $licenseKey

your MaxMind license key

array $locales

list of locale codes to use in name property from most preferred to least preferred

array $options

array of options. Valid options include:

  • host - The host to use when querying the web service. To query the GeoLite2 web service instead of GeoIP2 Precision, set the host to geolite.info.
  • timeout - Timeout in seconds.
  • connectTimeout - Initial connection timeout in seconds.
  • proxy - The HTTP proxy to use. May include a schema, port, username, and password, e.g., http://username:password@127.0.0.1:10.

Returns

mixed —

city()

city(string  $ipAddress = 'me') : \GeoIp2\Model\City

This method calls the City service.

Parameters

string $ipAddress

IPv4 or IPv6 address as a string. If no address is provided, the address that the web service is called from will be used.

Throws

\GeoIp2\Exception\AddressNotFoundException

if the address you provided is not in our database (e.g., a private address).

\GeoIp2\Exception\AuthenticationException

if there is a problem with the account ID or license key that you provided

\GeoIp2\Exception\OutOfQueriesException

if your account is out of queries

\GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is invalid for some other reason. This may indicate an issue with this API. Please report the error to MaxMind.

\GeoIp2\Exception\HttpException

if an unexpected HTTP error code or message was returned. This could indicate a problem with the connection between your server and the web service or that the web service returned an invalid document or 500 error code

\GeoIp2\Exception\GeoIp2Exception

This serves as the parent class to the above exceptions. It will be thrown directly if a 200 status code is returned but the body is invalid.

Returns

\GeoIp2\Model\City —

a City model for the requested IP address

country()

country(string  $ipAddress = 'me') : \GeoIp2\Model\Country

This method calls the Country service.

Parameters

string $ipAddress

IPv4 or IPv6 address as a string. If no address is provided, the address that the web service is called from will be used.

Throws

\GeoIp2\Exception\AddressNotFoundException

if the address you provided is not in our database (e.g., a private address).

\GeoIp2\Exception\AuthenticationException

if there is a problem with the account ID or license key that you provided

\GeoIp2\Exception\OutOfQueriesException

if your account is out of queries

\GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is invalid for some other reason. This may indicate an issue with this API. Please report the error to MaxMind.

\GeoIp2\Exception\HttpException

if an unexpected HTTP error code or message was returned. This could indicate a problem with the connection between your server and the web service or that the web service returned an invalid document or 500 error code.

\GeoIp2\Exception\GeoIp2Exception

This serves as the parent class to the above exceptions. It will be thrown directly if a 200 status code is returned but the body is invalid.

Returns

\GeoIp2\Model\Country —

a Country model for the requested IP address

insights()

insights(string  $ipAddress = 'me') : \GeoIp2\Model\Insights

This method calls the Insights service. Insights is only supported by GeoIP2 Precision. The GeoLite2 web service does not support it.

Parameters

string $ipAddress

IPv4 or IPv6 address as a string. If no address is provided, the address that the web service is called from will be used.

Throws

\GeoIp2\Exception\AddressNotFoundException

if the address you provided is not in our database (e.g., a private address).

\GeoIp2\Exception\AuthenticationException

if there is a problem with the account ID or license key that you provided

\GeoIp2\Exception\OutOfQueriesException

if your account is out of queries

\GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is invalid for some other reason. This may indicate an issue with this API. Please report the error to MaxMind.

\GeoIp2\Exception\HttpException

if an unexpected HTTP error code or message was returned. This could indicate a problem with the connection between your server and the web service or that the web service returned an invalid document or 500 error code

\GeoIp2\Exception\GeoIp2Exception

This serves as the parent class to the above exceptions. It will be thrown directly if a 200 status code is returned but the body is invalid.

Returns

\GeoIp2\Model\Insights —