属性: dnswait.__doc__
项目描述
DNSWait
dnswait
是一个小脚本,用于等待域名服务器配置的“传播”。
没有所谓的DNS传播
当你配置了区域后,浏览器没有立即访问你的服务器,而是出现了从数小时到数天的漫长而令人沮丧的延迟,这是缓存的效果,而不是“传播”。
下次你设置新条目时,试着试试看:只是在配置之前不要点击它,这样它的缺失就不会被存储在任何缓存中。只有在配置后尝试它,然后嘭,整个缓存缺失,没有延迟,它就成功了。
尽管如此,从你要求注册商设置条目(通过他们的Web用户界面或API)到它在他们的域名服务器上真正可见之间可能有一段时间,我认为这段时间可以称为“传播”,这正是本脚本所监控的。
使用方法
假设你通过一家低成本托管公司的界面添加了一个包含 itsme
的TXT记录,以证明你是 example.com
的所有者,并且他们显示了一条友好的消息
请稍等几分钟,以便我们的脚本能将更改传播到我们的DNS服务器。
然后你可以运行
dnswait example.com TXT itsme
该脚本将等待example.com的所有权威服务器为您提供的文本条目服务 itsme
,这样您就确切地知道那些 几分钟
是什么,您不必猜测。
另一个例子
假设你是mdk.fr
(也就是我)的所有者,并且你的提供商只允许你通过他们的bug tracker
上的问题来更改DNS记录,那么提交一个问题,要求他们将51.15.187.166设置为mdk.fr的IP地址并运行
dnswait mdk.fr A 51.15.187.166
这样你就可以知道他们是否已经完成了。
如果他们在dnswait
没有看到的情况下回复“已完成”,那么他们可能出了点问题...
在shell脚本中使用
如果你有一个通过API更新DNS配置的shell脚本,你可以在其中使用dnswait
等待配置完成。
详细模式
如果你想查看正在发生的事情,请使用-v
或-vv
运行
$ dnswait mdk.fr A 51.15.187.166 -v
INFO:dnswait:3 authoritative name servers to check.
INFO:dnswait:All authoritative servers have the expected value.
或者
$ dnswait mdk.fr A 51.15.187.166 -vv
INFO:dnswait:3 authoritative name servers to check.
DEBUG:dnswait:Checking ns-69-a.gandi.net.
DEBUG:dnswait:ns-69-a.gandi.net. have the expected value!
DEBUG:dnswait:Checking ns-173-b.gandi.net.
DEBUG:dnswait:ns-173-b.gandi.net. have the expected value!
DEBUG:dnswait:Checking ns-127-c.gandi.net.
DEBUG:dnswait:ns-127-c.gandi.net. have the expected value!
INFO:dnswait:All authoritative servers have the expected value.
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
dnswait-0.0.1.tar.gz (3.2 KB 查看散列)
构建分布
dnswait-0.0.1-py3-none-any.whl (3.5 KB 查看散列)