批量whois查询
缘起
购买域名的时候因为很多域名早就被早期的域名投资者给注册完毕了,只能在剩下的这堆里找了,这个时候能够批量查询就会方便很多,很多域名网站提供这样的查询,但是都是关键字加不同域名后缀的组合,我这个因为考虑了很多都注册完毕了,更多的是关键字加字母或者数字,以及常见单词的组合。
而域名后缀暂时先常见的,比如com,net 这些。一些新后缀一般都是比较好注册的,要么压根无法在大宋备案。
设计
这个是一个单页面应用。 没有什么页面间的调准。所以这个应用我想试试完全用trae来生成试试。
前端设计
最上面为whois域名查询关键字的输入框,然后因为是批量查询,所以这里需要支持各种表达式。
第二行显示各种表达式的说明。比如[\d] 表示0-9 [\D] 表示a-z, 而[\w] 表示 0-9,a-z以及中横线,但是在域名里第一位是不能是中横线的。所以这里要特殊处理一下。
第三行是各种域名后缀的选择,比如 com, net, io, ai, tech, live等等。
第四行就是各种按钮,开始,结束。 暂时先这2个状态,后来还有生成,导出等按钮。
第五行是展示栏。分为三列,最左列是上面表达式所生成的所有匹配的域名,中间列显示已经被注册的域名,最右边为可注册的域名。因为可能所匹配的域名会非常多,所以这3列都是都带有下拉条,3列的默认高度都是50个字符。
但是这里需要加上适当的限制,比如我们最大就支持10000个批量查询,所以当用户的查询条件大于10000个,那就需要提示用户大于10000个了,是否需要修改条件,或者保留前10000个。这个限制工作前端会做,后端也会校验。
后端设计
这个后端就是比较简单,首先是支持批量查询,比如一次最大查询10个,然后单个查询是需要有查询超时时间,假定为5秒钟。
使用python的whois库来实现。首先是通过前端传过来表达式,生成一个查询列表,这个列表就展示在前端的第五行的最左列。也需要校验下这个列表是否超过1万,如果超过就返回错误。
同时也需要校验列表内容是否合法,不合法的就提前过滤掉,而不是丢给whois库去进行校验。
将查询列表进行并发10个查询的,如果查询结果存在就显示在第五行中间列,如果不存在就显示在第五行最右列。
后期
查询期间需要倒计时相关功能。历史查询过的保留缓存功能,省得后面再查,不过缓存时间需要设置好。
对于我这种初次使用ai编程的,问题点主要是如何给ai喂合适的词汇。慢慢研究,先开始了。