前两天我看中了一个域名处于即将删除的状态 ,想着如果能监控域名能注册了给我发邮件就好了,于是就花了一晚上撸出了 CheckDomain 来帮我监控这个域名 。
CheckDomain 是一个用来检查域名是否能注册的 Api,基于 Spring Boot 构建,使用了阿里云域名查询 Api;
可实现对域名状态查询,可注册监控等,并在可以注册的时候发送邮件通知。
也算是自己动手做的第一个完整的项目吧
既然有了兴趣点,所以就准备把所学的知识给串一下,能用上的都用上,也算是学以致用吧~
Github:https://github.com/noisky/CheckDomain
Demo:https://whois.ffis.me
接口调用:
1、查看域名状态:
请求方式:
GET请求
- 请求地址:
/domain/{name}
参数说明:
{name}
: 查询的域名
- 请求地址:
2、查看域名状态并在可注册时发送邮件通知:
1)请求方式:GET请求
- 请求地址:
/domain/{name}/{email}/{querykey}
参数说明:
{name}
: 查询的域名{email}
: 接受通知的邮箱地址querykey
: 查询密码,在 yml 配置文件中设置
2)请求方式:POST请求
- 请求地址:
/domain/{name}
参数说明:
{name}
: 查询的域名POST 提交的表单:
email
: 接受通知的邮箱地址querykey
: 查询密码,在 yml 配置文件中设置
可以使用第三方监控(如阿里云监控)来请求 Api 来达到监控域名注册状态
现在已经实现了基本功能:
- 检查域名是否能注册
- 监控域名状态,如果可以注册,发送邮件通知
- 使用 Freemarker 实现邮件模板的静态化
- 使用 Logback 记录系统运行日志
- 实现域名的 whois 信息查询(参考了 tammypi 的 whoisutil 工具类)
- 已完成编写前端页面,现在可以直接在页面上查询 whois 信息了
TODO:
- 限制接口的调用频率
- 统计并记录接口的调用次数,调用耗时等信息
...
使用了万网域名查询接口(已经自己实现直接向whois服务器查询信息):
接口地址:http://panda.www.net.cn/cgi-bin/check.cgi
接口采用HTTP,POST,GET协议
参数名称:area_domain 值为标准域名,例:xxx.com
返回 XML 结果说明:
返回字段 | 说明 |
---|---|
表示接口返回成功 | |
表示当前检查的域名 | |
Domain name is available 表示域名可以注册 | |
Domain name is not available 表示域名已经注册 | |
Domain name is invalid 表示域名参数传输错误 | |
Time out 查询超时 |
注意:这个接口返回的数据虽然看起来是xml格式,但是响应头却是 text/plain
格式的,搞的我踩了好多深坑...
详见:记一次解决RestTemplate无法解析api返回的xml数据问题
请问如何开启域名监控?
感谢友链分享,咱也去研究研究搞个短域 ,这验证码不错啊有效防人机了