adzon/namesilo-composer

在 Laravel 中使用 Namesilo Api

dev-master 2019-12-17 01:07 UTC

This package is auto-updated.

Last update: 2024-09-17 12:31:06 UTC


README

在 Laravel 中使用 Namesilo Api

Simple PHP SDK 用于使用 Namesilo.com 注册域名。

依赖关系

  • php-xml 包。

在 Debian 中安装

sudo aptitude install php7.0-xml

快速入门

创建 Namesilo 类的实例。

要获取测试用的沙箱 API 密钥,请联系 namesilo。

#### create a Namesilo object with production key
$ns = new Namesilo('your api key');

#### create a Namesilo object with sandox key
$ns = new Namesilo('your api key',true);

#### turn Debugging on (if you want to fix an issue with this library)
$ns = new Namesilo('your api key',true,true);

#### Simple usage
try{
    $ns->is_domain_available('example.com');
}catch(Exception $e){
    #### print error message
    echo $e->getMessage();
}

调试

要启用调试,请编辑 namesilo.php,为 Namesilo() 提供第三个参数并将其设置为 tre

$ns = new Namesilo('your api key',true,true);

启用后,所有函数(方法)都会打印其请求和返回值。

在生产环境中切勿开启调试。

使用示例

检索 example.com 的锁定状态

try{
    $lock_status = $ns->lock_status('example.com');
}catch(Exception $e){
    echo $e->getMessage();
}
if($lock_status){
    echo 'domain is lock';
}else{
    echo 'domain is unlock';
}

方法列表

注意:确保像上面示例中那样捕获可能的错误。

create_contact()

使用此函数创建新的联系人 ID,然后使用此函数返回的联系人 ID 将其关联到新的域名注册。

成功时返回创建的联系人 ID,失败时返回 false。

$contact_id = $ns->create_contact(
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph  // phone
);

register_domain_by_contact_id()

成功时返回 true,失败时返回 false。

$result = $ns->register_domain_by_contact_id($domain,$contact_id,$years=1);
如果注册失败,此函数将自动尝试删除联系人。
默认配置文件和与任何活动域名关联的配置文件不能被删除。

register_domain()

创建新的联系人 ID 并立即为它注册域名。此方法不推荐。

成功时返回 true,失败时返回 false。

$ns->register_domain(
      $domain, // example.com
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph,  // phone
      $years = 1
);

update_contact_by_domain()

成功时返回 true,失败时返回 false。

$contact_id = $ns->update_contact_by_domain(
      $domain, // example.com
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph  // phone
);

update_nameservers()

更改与您的域之一相关的NameServers。

在成功时返回true,在失败时返回false。

$result = $ns->update_nameservers('example.com','ns1.namesilo.com','ns2.namesilo.com');

delete_contact()

成功时返回 true,失败时返回 false。

$ns->delete_contact($contact_id);

请记住,可以删除的联系人配置文件只能是那些不是默认账户并且没有与任何活动域名或订单配置文件相关联的。

add_dns_record()

成功时返回 true,失败时返回 false。

$ns->add_dns_record($domain,$type,$host,$value,$distance='',$ttl='');
$type可能的值有 "A", "AAAA", "CNAME", "MX" 和 "TXT"
$host新记录的主机名(不需要包含".DOMAIN")
$value
  • A - The IPV4 Address
  • AAAA - The IPV6 Address
  • CNAME - 目标主机名
  • MX - 目标主机名
  • TXT - 文本
$distance: 仅用于MX(未提供时默认为10)
$ttl: 新记录的TTL(未提供时默认为7207)

get_dns_records()

在成功时返回记录数组,在失败时返回false。

$ns->get_dns_records($domain);

成功返回值的示例print_r()

再次,确保捕获异常。

Array
(
    [0] => Array
        (
            [record_id] => a8c4251d3c3d114d70d48dcaf0288257
            [type] => A
            [host] => sunsed-test15.com
            [value] => 173.255.255.106
            [ttl] => 7200
            [distance] => 0
        )

)

delete_dns_record()

成功时返回 true,失败时返回 false。

$ns->delete_dns_record($domain,$record_id);

is_domain_available()

可能的返回值: 'available', 'invalid', 'unavailable' 和 false。

try{
    $result = $ns->is_domain_available($domain);
    if($result == 'available'){
        echo 'domain is available';
    }elseif($result == 'invalid'){
        echo 'pleas check your domain';
    }elseif($result == 'unavailable'){
        echo 'domain is not available';
    }else{
        echo 'failed';
    }
}catch(Exception $e){
    echo $e->getMessage();
}

send_auth_code()

成功时返回 true,失败时返回 false。

ns->send_auth_code($domain);

get_contact_by_id()

在成功时返回联系人信息,在失败时返回false。

$ns->get_contact_by_id($contact_id);

list_domains()

在成功时返回域数组,在失败时返回false。

try{
    $result = $ns->list_domains();
    if($result){
        echo 'success';
    }else{
        echo 'failed';
    }
}catch(Exception $e){
    echo $e->getMessage();
}

示例返回值

Array
(
    [0] => sunsed-test12.com
    [1] => sunsed-test13.com
    [2] => sunsed-test15.com
)

get_nameservers()

在成功时返回名称服务器数组,在失败时返回false。

示例返回值

Array
(
    [0] => NS1.NAMESILO.COM
    [1] => NS2.NAMESILO.COM
)

注意:Namesilo以大写形式返回名称服务器。

privacy_status()

检索隐私状态。

$result = $ns->privacy_status($domain);
if($result)
    echo 'Privacy is enabled';
else
    echo 'Privacy is disabled';

add_privacy()

$result = $ns->add_privacy($domain);

remove_privacy()

$result = $ns->remove_privacy($domain);

get_domain_info()

在成功时返回域名信息数组,失败时返回false。

$ns->get_domain_info($domain);

示例返回值

Array
(
    [code] => 300
    [detail] => success
    [created] => 2015-02-06
    [expires] => 2016-02-06
    [status] => Active
    [locked] => Yes
    [private] => Yes
    [auto_renew] => No
    [traffic_type] => Custom DNS
    [forward_url] => N/A
    [forward_type] => N/A
    [nameservers] => Array
        (
            [nameserver] => Array
                (
                    [0] => NS1.NAMESILO.COM
                    [1] => NS2.NAMESILO.COM
                )

        )

    [contact_ids] => Array
        (
            [registrant] => 903
            [administrative] => 903
            [technical] => 903
            [billing] => 903
        )

)

get_account_balance()

在成功时返回账户余额,失败时返回false。

$result = $ns->get_account_balance();