所以基本上我想知道有人如何在不使用现有网络服务的情况下检查域名可用性。我在网上找到了一堆解决方案,我可以将它们集成到我自己的项目中,但从原始意义上讲,如何从头开始呢?
无论域名是否可用,我都不想依赖其他人创建的东西来返回 - 本质上,我想设计自己的。
所以,
- 当有人查询域名以查看它是否存在时,幕后会发生什么?
- 你能指出我如何使用 C# 实现这一点的正确方向吗?
非常感谢你们。
麦克风
这样做的方法是尝试对域名执行WHOIS查询。这过去很简单 - 每个后缀(.com、.net、.uk、.ca 等)都有一个固定的 whois 服务器列表,您可以选择正确的服务器,在端口 43 上 telnet 并询问注册信息.
然而在现实生活中,它不再那么简单了。.com 有多个 whois 服务器,当您查找 .com 时,您会获得需要搜索和关注的转发提示。whois 服务器的响应不是固定的或标准化的格式,因此您需要在每个服务器的基础上进行解析。有些后缀使用 rwhois,有些只允许您通过网络查询。一些域(我记得.cn和.uk是我记得的)对于不同的域类型有不同的whois服务器(例如ac.cn有它自己的whois服务器,这与.ca服务器不同)。
您需要使用“whois”请求。
C# 示例: