Sample code for 30+ languages & platforms
PHP Extension

DNS Query SOA Records

See more DNS Examples

Shows how to perform a DNS query to retrieve SOA records.

Note: This example requires Chilkat v9.5.0.96 or later.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

$dns = new CkDns();

$json = new CkJsonObject();
$json->put_EmitCompact(false);

$success = $dns->Query('SOA','x.com',$json);
if ($success == false) {
    print $dns->lastErrorText() . "\n";
    exit;
}

print $json->emit() . "\n";

// Sample response.
// Parsing code below..

// {
//   "answer": {
//     "soa": [
//       {
//         "name": "x.com",
//         "ttl": 1800,
//         "mname": "alexia.ns.cloudflare.com",
//         "rname": "dns.cloudflare.com",
//         "serial": -1971124188,
//         "refresh": 10000,
//         "retry": 2400,
//         "expire": 604800,
//         "minttl": 1800
//       }
//     ]
//   }
// }

// Use this online tool to generate parsing code from sample JSON: 
// Generate Parsing Code from JSON

$i = 0;
$count_i = $json->SizeOfArray('answer.soa');
while ($i < $count_i) {
    $json->put_I($i);
    $name = $json->stringOf('answer.soa[i].name');
    $ttl = $json->IntOf('answer.soa[i].ttl');
    $mname = $json->stringOf('answer.soa[i].mname');
    $rname = $json->stringOf('answer.soa[i].rname');
    $serial = $json->IntOf('answer.soa[i].serial');
    $refresh = $json->IntOf('answer.soa[i].refresh');
    $retry = $json->IntOf('answer.soa[i].retry');
    $expire = $json->IntOf('answer.soa[i].expire');
    $minttl = $json->IntOf('answer.soa[i].minttl');
    $i = $i + 1;
}


?>