使用Name.com API(PHP)

时间:2012-01-12 13:15:04

标签: php api class

我现在正在使用Name.com API,他们有关于如何获取详细信息的文档说明。

我已经把一切都搞定了,但是,我无法打印结果。

我已经完成了var_dump()调试,结果如下:

object(stdClass)#4 (2) { 
    ["result"]=> object(stdClass)#5 (2) { 
        ["code"]=> int(100) ["message"]=> string(18) "Command Successful" 
    } 
    ["domains"]=> object(stdClass)#6 (8) { 
        ["mynewdomain.mobi"]=> object(stdClass)#7 (5) { 
            ["avail"]=> bool(true) 
            ["tld"]=> string(4) "mobi" 
            ["price"]=> string(4) "8.99" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(false) 
        } 
        ["mynewdomain.net"]=> object(stdClass)#8 (5) { 
            ["avail"]=> bool(false) 
            ["tld"]=> string(3) "net" 
            ["price"]=> string(5) "49.95"
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(true) 
        } 
        ["mynewdomain.org"]=> object(stdClass)#9 (5) { 
            ["avail"]=> bool(true) 
            ["tld"]=> string(3) "org" 
            ["price"]=> string(4) "9.99" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(false) 
        } 
        ["mynewdomain.info"]=> object(stdClass)#10 (5) { 
            ["avail"]=> bool(true) 
            ["tld"]=> string(4) "info" 
            ["price"]=> string(4) "3.99" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(false) 
        } 
        ["mynewdomain.com"]=> object(stdClass)#11 (5) { 
            ["avail"]=> bool(false) 
            ["tld"]=> string(3) "com" 
            ["price"]=> string(5) "49.95" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(true) 
        } 
        ["mynewdomain.biz"]=> object(stdClass)#12 (5) { 
            ["avail"]=> bool(false) 
            ["tld"]=> string(3) "biz" 
            ["price"]=> string(5) "29.95" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(true) 
        } 
        ["mynewdomain.me"]=> object(stdClass)#13 (5) { 
            ["avail"]=> bool(false) 
            ["tld"]=> string(2) "me" 
            ["price"]=> string(5) "49.95" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(true) 
        } 
        ["mynewdomain.tv"]=> object(stdClass)#14 (5) { 
            ["avail"]=> bool(false) 
            ["tld"]=> string(2) "tv" 
            ["price"]=> string(5) "49.95" 
            ["premium"]=> bool(false) 
            ["backorder"]=> bool(true) 
        }
    } 
}

这是列出域名的另一个简短结果:

object(stdClass)#4 (2) { 
    ["result"]=> object(stdClass)#5 (2) { 
        ["code"]=> int(100) 
        ["message"]=> string(18) "Command Successful" 
    } 
    ["domains"]=> array(0) { } 
}

我尝试了以下内容:

  • echo $response

  • echo $response->domains

  • echo $response['domains']

但实际上,我无法让它发挥作用。有人可以帮助我吗?

提前致谢,

3 个答案:

答案 0 :(得分:3)

尝试这个来获取消息:

echo $response->result->message;

获取域名列表:

foreach ($response->domains as $domainName => $domainData)
{

    echo $domainName.": available-".$domainData->avail."; price - ".$domainData->price;

}

答案 1 :(得分:1)

看起来你正在获得一堆对象,所以你需要遍历$ response->域。我会把它推到一个新的var,以便于处理,如:

$domains = &$response->domains;

foreach($domains as $key => $value) {
  echo $key.":\n";
  foreach($value as $a => $b) {
    if($b === true) $b = 'yes';
    if($b === false) $b = 'no';
    echo $a.": ".$b."\n";
  }
}

注意:$ response-> result ONLY包含您发送服务器的命令的结果。检查一下,确保没有错误,但不要指望你的数据在那里。

答案 2 :(得分:0)

在我看来,一切都在result数组中。试试这个:

echo $response["result"]["domains"];