reashetyr/namecheap

使用PHP轻松访问Namecheap xml api

v0.5.1 2020-11-06 13:24 UTC

This package is auto-updated.

Last update: 2024-09-06 23:00:45 UTC


README

这仍然处于非常初级的测试阶段,请不要使用!

namecheap-php 是一个PHP语言的Namecheap API客户端。API本身在https://www.namecheap.com/support/api/intro/上有文档说明。

此客户端支持以下功能:

  • 注册域名
  • 检查域名名称可用性
  • 列出您已注册的域名
  • 获取域名的联系信息
  • 将DNS信息设置为默认值
  • 设置DNS主机记录

安装

安装非常简单

composer require reashetyr/namecheap

如何注册以开始使用API

API有两个环境,生产环境和沙箱环境。由于此API在注册域名时会花费真实货币,因此请先通过访问http://www.sandbox.namecheap.com/并创建账户开始使用沙箱环境。生产环境和沙箱环境中的账户是不同的,因此即使您已经有了Namecheap账户,您也需要一个新的账户。

拥有账户后,请转到“配置文件”。

Profile

从那里,再次选择“配置文件”菜单,然后选择“工具”。滚动到页面底部“商业和开发工具”部分,并选择“管理”。

API menu

您将进入凭证页面。从这里,您需要记下您的API密钥、用户名,并将您的IP地址添加到允许访问账户的IP地址白名单中。您可以通过在Google上搜索“我的IP是多少”来检查您的公共IP地址,并将其添加到这里。它可能需要一些时间才能开始工作,所以如果API访问最初不起作用,请不要惊慌。

Credentials

如何从PHP访问API

使用composer安装包。您可以通过以下方式访问API

use reashetyr\NameCheap\NameCheap;
$api = new NameCheap(username, api_key, username, ip_address, true);

字段是上述凭证屏幕中出现的字段。用户名出现了两次,因为您可能代表其他人行事。

使用API注册域名名称

不幸的是,您需要一串联系信息才能注册域名,所以这不仅仅提供域名名称那么简单。在沙箱中,以下联系信息是可接受的。最棘手的字段是电话号码,其格式必须如下所示。

NameCheap.domains_create([
    'DomainName' => 'registeringadomainthroughtheapiwow.com',
    'FirstName' => 'Jack',
    'LastName' => 'Trotter',
    'Address1' => 'Ridiculously Big Mansion, Yellow Brick Road',
    'City' => 'Tokushima',
    'StateProvince' => 'Tokushima',
    'PostalCode' => '771-0144',
    'Country' => 'Japan',
    'Phone' => '+81.123123123',
    'EmailAddress' => 'jack.trotter@example.com'
]);

此调用应在沙箱中成功,但如果您使用API在注册后检查此域名的可用性,则可用性不会改变。这是正常的。

如何检查域名名称是否可用

如果域名可用,则domains_check方法返回True。

NameCheap.domains_check(domain_name);

您还可以传递域名名称列表,在这种情况下,它将批量检查所有域名,并返回一个包含答案的数组。您可能不应该使用此方法编写大规模域名检查工具,它旨在在注册域名之前使用。

基本主机记录管理代码

以下是一个简单的DNS记录管理脚本的示例

<?php

use reashetyr\NameCheap\NameCheap;

$api = new NameCheap($username, $api_key, $username, $ip_address, false);

$domain = "example.org";

# list domain records
$api->domains_dns_getHosts(domain);

$record = [
    # required
    "Type" => "A",
    "Name" => "test1",
    "Address" => "127.0.0.1",

    # optional
    "TTL" => "1800",
    "MXPref" => "10"
];

# add A "test1" record pointing to 127.0.0.1
$api->domains_dns_addHost($domain, $record);

# delete record we just created,
# selecting it by Name, Type and Address values
$api.domains_dns_delHost($domain, $record);

重试机制

有时您可能会遇到错误的API响应,这可能与服务器端错误有关。

我们实现了重试机制,可以通过向NameCheap实例添加两个参数来启用它

$api = new NameCheap($username, $api_key, $username, $ip_address, false, 3, 0.1);

2或3的值应该可以解决这个问题。

更多

这是从Python源代码重新实现的: https://github.com/Bemmu/PyNamecheap