使用DNSPOD的API实现动态域名
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
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
建议继续学习:
- 好的API设计 (阅读:11230)
- 如何拿下简短的域名 (阅读:11869)
- 域名相关的一些基本概念总结 (阅读:6090)
- Apache用mod_rewrite配置子域名 (阅读:5802)
- Google短网址的API (阅读:5123)
- 移动互联网api设计实践 (阅读:3768)
- A记录,MX记录,CNAME记录,url转发,ns记录,动态记录 (阅读:3853)
- HTML5文件API之图片预览 (阅读:3660)
- 如何设计一个优秀的API (阅读:3661)
- Apache、resin、rewrite泛域名、多域名设置 (阅读:3538)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:felix021 <i[#at]felix021.com> 来源: Felix021
- 标签: api DNSPOD 域名
- 发布时间:2019-06-27 13:55:01
- [66] Go Reflect 性能
- [65] Oracle MTS模式下 进程地址与会话信
- [64] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则