IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

使用DNSPOD的API实现动态域名

Felix021 2019-06-27 13:55:01 累计浏览 3,338 次
本机暂存

0. 你得有一个 dnspod 帐号,并且把你的域名(例如 test.com )解析迁移过去(略)

1. 添加一个子域名的 A 记录,例如 ddns.test.com 指向 127.0.0.1

 $ export domain=test.com
 $ export subdomain=ddns

2. 生成一个token:参考官方说明 https://support.dnspod.cn/Kb/showarticle/tsid/227/

【务必注意】需要用生成的 ID 和 Token 这两个字段来组合成一个完整的 Token,组合方式为:"ID,Token"(用英文半角逗号分割),比如官方示例中,完整的 Token 为:13490,6b5976c68aba5b14a0558b77c17c3932 。

 $ export token=13490,6b5976c68aba5b14a0558b77c17c3932

3. 获取必要信息: 域名和子域名的ID

 $ curl -X POST https://dnsapi.cn/Record.List -d "login_token=${token}&format=json&domain=${domain}&sub_domain=${subdomain}"

返回结果为:{"status":{...}, "domain":{"id":640001, "name":"test.com", ...}, "info":{...}, "records":[{"id":"355300007", "name":"ddns", ...}]}

记录下对应域名的id 和子域名的id

 $ export domain_id=640001
 $ export subdomain_id=355300007

4. 获取外网ip

 $ wanip=`nc ns1.dnspod.net 6666`

5. 更新记录

 $ curl https://dnsapi.cn/Record.Ddns -d "login_token=${token}&format=json&domain_id=$domain_id&record_id=$record_id&sub_domain=$sub_domain&record_line=默认&value=$wanip"

= 完 =

(其实没完)其中 1、2、3 做完以后

6. 把 4、5 可以写到一个脚本里

 $ vi dnspod.sh

#!/bin/bash

domain_id=640001
record_id=355300007
sub_domain=ddns

wanip=`nc ns1.dnspod.net 6666`
curl https://dnsapi.cn/Record.Ddns -d "login_token=${token}&format=json&domain_id=$domain_id&record_id=$record_id&sub_domain=$sub_domain&record_line=默认&value=$wanip"


7. 设置 crontab

 $ crontab -e

引用
*/15 * * * * sh /path/to/dnspod.sh

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 如何拿下简短的域名 (累计阅读 16,935)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  3. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  4. 强制刷新本地 DNS 缓存记录 (累计阅读 10,917)
  5. 从谷歌宕机事件认识互联网工作原理 (累计阅读 8,746)
  6. 2014年1月21日中国互联网DNS瘫痪事件原因分析 (累计阅读 8,445)
  7. 域名相关的一些基本概念总结 (累计阅读 8,094)
  8. 关于 SOCKS 代理的远端 DNS 解析 (累计阅读 7,986)
  9. POST与GET的区别及RESTful (累计阅读 7,862)
  10. DNS 隧道 (累计阅读 7,259)