PHP code example of choval / whois

1. Go to this page and download the library: Download choval/whois library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

choval / whois example snippets


$loop = \React\EventLoop\Factory::create();
$whois = new \Choval\Whois\Factory($loop);
$query = $whois->query('8.8.8.8');
$query->run()     // Returns a promise
  ->then(function($query) {
    print_r( $query->getRaw() );
    print_r( $query->getCountry() );
    print_r( $query->getOwner() );
    print_r( $query->getRange() );
  });
$loop->run();

$query = new \Choval\Whois\Query('8.8.8.8');
$query->run();
print_r( $query->getRaw() );
print_r( $query->getCountry() );
print_r( $query->getOwner() );
print_r( $query->getRange() );

use function \Choval\Whois\is_ipv6;

var_dump( is_ipv6('::1') );
// Returns true

var_dump( is_ipv6('1.1.1.1') );
// Returns false

use function \Choval\Whois\is_ipv4;

var_dump( is_ipv4('1.1.1.1') );
// Returns true

var_dump( is_ipv4('::1') );
// Returns false

use function \Choval\Whois\ip_version;

var_dump( ip_version('::1') );
// Returns string ipv6

var_dump( ip_version('1.1.1.1') );
// Returns string ipv4

use function \Choval\Whois\ip_expand;

var_dump( ip_expand('::1') );
// Returns 0000:0000:0000:0000:0000:0000:0000:0001

var_dump( ip_expand('1::1') );
// Returns 0001:0000:0000:0000:0000:0000:0000:0001

var_dump( ip_expand('192.168.0') );
// Returns 192.168.0.0

var_dump( ip_expand('192.168.001.001') );
// Returns 192.168.1.1

use function \Choval\Whois\ip2hex;

var_dump( ip2hex('196.11.31.255') );
// Returns c40b1fff

var_dump( ip2hex('2a03:2880::') );
// Returns 2a032880000000000000000000000000

use function \Choval\Whois\parse_range;

print_r( parse_range( '186.19.128/18') );
/*
Returns an array
     [range] => 186.19.128/18
      [from] => 186.19.128.0
        [to] => 186.19.191.255
  [bin_from] => (BINARY)
    [bin_to] => (BINARY)
  [hex_from] => ba138000
    [hex_to] => ba13bfff
*/

print_r( parse_range( '2a03:2880::/29') );
/*
Returns an array
     [range] => 2a03:2880::/29
      [from] => 2a03:2880:0000:0000:0000:0000:0000:0000
        [to] => 2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff
  [bin_from] => (BINARY)
    [bin_to] => (BINARY)
  [hex_from] => 2a032880000000000000000000000000
    [hex_to] => 2a032887ffffffffffffffffffffffff
*/

print_r( parse_range( '196.11.31.0 - 196.11.31.255') );
/*
Returns an array
     [range] => 196.11.31.0 - 196.11.31.255
      [from] => 196.11.31.0
        [to] => 196.11.31.255
  [bin_from] => (BINARY)
    [bin_to] => (BINARY)
  [hex_from] => c40b1f00
    [hex_to] => c40b1fff
*/

use function \Choval\Whois\ip_in_range;

var_dump( ip_in_range( '186.19.128.0', '186.19.128/18') );
// Returns true

var_dump( ip_in_range( '186.19.192.0', '186.19.128/18') );
// Returns false