reashetyr / namecheap
使用PHP轻松访问Namecheap xml api
Requires
- php: >=7
- ext-curl: *
- ext-json: *
- ext-simplexml: *
Requires (Dev)
- phpunit/phpunit: 9.3.11
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账户,您也需要一个新的账户。
拥有账户后,请转到“配置文件”。
从那里,再次选择“配置文件”菜单,然后选择“工具”。滚动到页面底部“商业和开发工具”部分,并选择“管理”。
您将进入凭证页面。从这里,您需要记下您的API密钥、用户名,并将您的IP地址添加到允许访问账户的IP地址白名单中。您可以通过在Google上搜索“我的IP是多少”来检查您的公共IP地址,并将其添加到这里。它可能需要一些时间才能开始工作,所以如果API访问最初不起作用,请不要惊慌。
如何从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


