【发布时间】:2011-11-23 20:39:24
【问题描述】:
我想创建一个执行 WHOIS 查询以查看域是否可用的东西。现在,我找到了很多现成的脚本,但它们似乎都是一样的,你需要指定基础,然后选择你想要的扩展,它会这样做(例如,输入'test',检查.com,它会检查test.com是否可用)
但是,我正在尝试做一些其他的事情。我想要它做的事情是检查用户是否只输入了基本 URL 或完整 URL,然后相应地执行一个或多个查询。示例:
如果用户输入“test”,我希望脚本检查 test.com、test.org、test.net 等。 如果用户输入“test.com”,我希望脚本只检查 test.com。
我真的不知道要建立在什么基础上,但Mike Nott's PHP Whois Script 看起来还不错。当然,我们随时欢迎您提出建议。
现在我猜脚本流程应该是这样的:
- 用户输入查询
- 脚本检查空格
- 脚本检查用户输入的只是一个基本域名还是一个完整的域名(我猜的方法是检查那里是否有一个点)
- 如果用户输入了完整的域名,请将基础域名和 TLD 分开并将它们存储在变量中并将“状态”存储在某处($full = true/false)
- if ($full = true) {检查 $base.com $base.net 等对应的 whois 服务器};
- if ($full != true) {查看 $tld 的正确服务器是什么并检查 $base.$tld 的服务器}
- 输出结果
当然,如果已经有脚本可以做到这一点,请告诉我。
编辑:你知道,我可以做简单的 if 语句之类的,但我的“工作流程”中的步骤 3、4、5 和 6 是我无法弄清楚的部分.
编辑 2: 感谢您的所有回答,伙计们!马库斯亚当的理论确实有效。我的域名经销商(我从中获取域名的人)不提供像 .co.uk 这样的二级 TLD,所以这不是问题。他们也不支持 IDN。
根据各位的回答,我得出的结论是explode函数是用来分隔域名的。但是,遇到多个点会爆炸怎么办?我猜它只会在数组中添加另一个条目,但这会导致问题。因为如果用户随后输入(例如)以 .co.uk 结尾的域,则脚本会将“co”作为 TLD。
在数组中检查超过 2 个字符串也不是一个选项(我认为),因为如果用户然后输入“sub.domain.com”,脚本将“sub”作为基础,“domain.com” ' 作为 TLD。
另外,Marcus Adams,您说如果 whois 服务器显示“可用”,这并不能保证它可用,我必须查询注册商。但是我该怎么做呢?有什么想法吗?
谢谢大家:)
【问题讨论】:
-
Of course, if there's a script that does this already, let me know.我敢打赌是的 -
可能,是的,但实际上有数百个脚本,而仅查看我发现的前 10 个脚本对我没有任何帮助。所以我猜问你们是更好的选择,而不是挖掘所有那些试图找到适合我正在寻找的脚本的脚本:P
-
查看我对第 3 步的回答,不过如果这是您的第一个项目,请选择更容易学习的东西