GoDaddy 使用 Bash/Shell 脚本通过 API 删除单个 DNS 记录

Jam*_*mes 2 godaddy-api

我想通过 CURL 或任何其他 Shell/Bash 命令通过 API删除单个 DNS 记录( A记录)。

我还尝试访问 GoDaddy 的网站,但不幸的是它不再存在并返回 404。

https://www.godaddy.com/community/Managing-Domains/Deleting-a-single-DNS-record-through-the-API/td-p/108003

有可能吗,我该怎么办?

der*_*her 5

编辑原来的答案似乎已经过时

GoDaddy 已添加相应的端点来删除单个条目。所以现在你可以做

DELETE /v1/domains/{domain}/records/A/{name}
Run Code Online (Sandbox Code Playgroud)

原答案

不幸的是,godaddy 的 api 不提供在单个调用中删除单个域记录的端点。所以你必须

  1. GET /v1/domains/{domain}/records/A首先获取域的所有 A 记录 ( https://developer.godaddy.com/doc/endpoint/domains#/v1/recordGet )
  2. 从结果列表中删除要删除的记录
  3. PUT /v1/domains/{domain}/records/A修改后的记录集,用给定的记录列表替换域的所有 A 记录 ( https://developer.godaddy.com/doc/endpoint/domains#/ )

当 API 端点返回/期望 JSON 数据时,您可能需要一些额外的工具来操作 json 数据。您可能会在这个答案中找到一些东西用 Unix 工具解析 JSON

您可能会想使用空PUT /v1/domains/{domain}/records/A/{recordname}记录列表将所有具有给定名称的 A 记录替换为提供的记录列表 ( https://developer.godaddy.com/doc/endpoint/domains#/v1/recordReplaceTypeName )在身体里。上次我尝试这样做时,没有成功。