Typecho合集站

一个喜欢Typecho站长搭建的站点,为能服务更多typecho用户

通过PHP脚本代码进行域名抢注,和域名投资经验技术分享

[line]域名抢注[/line]

简介

通过PHP脚本代码进行域名抢注,和域名投资经验技术分享

最近有不少hostloc的朋友加我,今天也有两个,除了询价域名,还有一些朋友向我咨询一些关于域名投资、域名抢注这些方面的问题,我一一作了解答,由于时间仓促,不太详尽,在此发帖介绍一下。

其实在hostloc的很多朋友,都有自己的主机,也有一定的编程技术,我觉得只要了解清楚一些域名投资的业务流程,估计也可以低成本抢到自己喜欢的域名。

这里说的主要是面向非主流的后缀,毕竟com cn org net 这种主流后缀都是大鳄垄断,自己低成本抢注到好域名几率几乎为0。

域名什么时候删除?

要抢注某个或者某些域名,你首先要知道到底有哪些域名过期,它们具体什么时候过期,我曾经推荐过一个网站 https://www.expireddomains.net/ ,这也是我非常喜欢的常用筛选工具。

你要在那个网站注册账户,然后登录,找到 pendingdelete 点击进去,那么此时你会看到包括上千种后缀的过期域名的列表。列表里面的 LE是域名长度End Date为删除日期,那么多的域名过期了,如何找到我想要的呢?这个时候就要去筛选,expireddomains.net 提供了非常强大的筛选功能。

你点击打开 Show Filter ,比如你要筛选最近有哪些单字符掉了? 在 Length 筛选选项的 max 里面输入长度 1 然后按下 apply filter,就可以看到最近过期的单字符。

还有比如你要看看最近有没有host前缀掉了?你同样点开Show Filter start with 那里输入 host,这样就可以筛选以host开头的域名,再在列表里点一下LE这个表头,让他根据长度从小到大排列。或者你要看到今天或者明天要掉了的host前缀,点一下 End Date,让他根据删除时间从最近开始排列,你就会看到对应的列表。

域名删除的精确时间?

上面的expireddomains只是知道大部分域名在哪一天删除,但是你不知道更加精确的时间

要知道更加精确的删除时间,比如是具体几点几分几秒掉的,你就要做个短期统计分析,比如你想知道 .sb 后缀的域名一般具体什么时候删除,你可以使用bt面板的定时任务功能,每天定期跑一些监控代码,监控某一批即将过期删除的sb域名(expireddomains可以随便找到这些域名),记录他们每天掉下的时间,然后做个分析总结推算出sb后缀掉下时间,还有一种方法是直接去信sb管理局,让他们告诉你他们具体什么时候删除域名。

国别后缀的具体删除时间比较复杂,需要自己去尝试测试,新后缀的具体删除时间一般比较有规律,当某个新后缀域名完全是 pendingdelete状态的时候(也就是域名whoisDomain Status里面只有pendingdelete),然后把whois里面的Updated Date显示的时间+5天,然后再转换为中国时间就是实际掉下时间(新后缀里面显示的基本上都是UTC时间)。

那么知道具体时间了,怎么抢?

1.找平台抢

https://member.expireddomains.net/article/howto-backorder-expired-domains-15102.html 这里面就写明了一些后缀常见的抢注平台

根据我的经验,大部分新后缀域名抢注最厉害的是 hexonet.net 以及 dynadot.com 对于国内可北岸的新后缀,抢注还不错但是又比较便宜的是 west.cn 或者 zzy.cn

.li 抢注比较厉害的是 catchtiger.com
.se .nu 抢注性价比高的是 https://www.rymdweb.com/en/
.io .to 抢注比较厉害的 park.io

2.自己抢

这种情况主要是针对一些大平台不提供抢注的后缀,比如 .cx .gs .cm .am .ma .ge .re .cat .pm 等等

首先你要有自己的服务器,然后有代码去监控域名whois状态,最后还要去注册商拿到注册域名的api

服务器一般1h1g够了,然后一个秒级或者毫秒级别为间隔的定时任务去运行监控代码,当发现域名状态变了,立刻提交api实施抢注

需要注意的是,很多国别注册局的whois服务器有查询限制的,比如10s内只能发送一次查询请求,这种情况下就得通过切换ip去绕过限制。

提供注册api的服务商很多,比如 hexonet.net dynadot.com quyu.net west.cn,对于域名whois查询代码不熟悉的朋友,可以去github.com搜索whois关键词,里面有很多各种编程语言的whois查询代码可供参考

最后希望这篇文章能够对有兴趣参与域名抢注的朋友有所帮助,最后获得成功。如有任何疑问,可以联系 QQ 183456663 ,一起学习讨论,其实我也是新人,玩这个域名投资两年左右,我也不是学计算机的,我也是一边交学费,一边学习,我唯一的优势就是懂点英语

[line]PHP代码[/line]

第一点 域名抢注需要代码的主要是两个地方

1.查询 whois

2.提交api

第二点 提交api的代码,这个主要得根据服务商提供的api文档进行编程

hexonet 的API文档地址 https://github.com/hexonet/hexonet-api-documentation/blob/master/API/DOMAIN/ADDDOMAIN.md

也有程序员为 hexonet 的api接口提供了一个PHP源码 https://github.com/al-one/hexonet-api

dynadot.com 的抢注API地址 https://www.dynadot.com/domain/api2.html ,它比较简单,只要一个get 或者 post 到一个地址 https://api.dynadot.com/api2.html?key=8S7I2s6Qd8g&command=register&domain=mydomain.com&duration=1

quyu.net 也有API接口,这个要向趣域客服申请,API PHP 示例代码 https://www.quyu.net/knowledgebase.php?action=displayarticle&id=23

关于第一点,通过PHP代码查询whois的方式主要有两个 1.CURL 2.SOCKET 下面就是相关代码

[line]CURL[/line]

const TIMEOUT = 30;
const PORT = 43;
const ESTR = 'Domain not found';
  function whois(string $domain, string $address): array
    {
        $curl = null;
        $output = '';
        $info = array();

        if (!function_exists('curl_version')) {
            trigger_error('cURL is not found!');
        } else {
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $address);
            curl_setopt($curl, CURLOPT_PORT, PORT);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_TIMEOUT, TIMEOUT);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $domain . "\r\n");
            $output = curl_exec($curl);
            curl_close($curl);

            $info['domain'] = $domain;
            (strstr($output, ESTR)) ? $info['status'] = 0 : $info['status'] = 1;
            (strstr($output, ESTR)) ? $info['description'] = '掉啦,赶紧抢吧' : $info['description'] = '卧槽,还没掉';
            $info['whois'] = $output;
        }

        return($info);
    }
print_r(whois('a.dog','whois.nic.dog'));

[line]SOCKET[/line]

const TIMEOUT = 30;
const PORT = 43;
const ESTR = 'Domain not found';
  function whois(string $domain, string $address): array
    {
        $output = '';
        $info = array();
        $connection = fsockopen($address, PORT, $errno, $errmessage, TIMEOUT);

        if (!$connection) {
            echo('Connection failed! ' . 'Error no: ' . $errno . ' Error message: ' . $errmessage);
            exit();
        } else {
            ($connection) ? fputs($connection, $domain . "\r\n") : $connection = null;

            if (!is_null($connection)) {
                while (!feof($connection)) $output .= fgets($connection);

                    $info['domain'] = $domain;
            (strstr($output, ESTR)) ? $info['status'] = 0 : $info['status'] = 1;
            (strstr($output, ESTR)) ? $info['description'] = '掉啦,赶紧抢吧' : $info['description'] = '卧槽,还没掉';
            $info['whois'] = $output;

            } else {
                trigger_error('$connection variable is null!');
                exit();
            }
        }
        fclose($connection);

        return($info);
    }
print_r(whois('a.dog','whois.nic.dog'));

然后你找到一个定时任务的脚本,以一定的间隔执行PHP代码查询whois服务器,当发现某个域名掉了,立刻执行域名注册API即可

最后祝大家马到成功,财源滚滚

[card-nav]
[card-nav-item src="https://mu.lu/" title="域名投资者工具箱" img="https://www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg" /]
[/card-nav]


上一篇 : Typecho 语雀同步插件
下一篇 : typecho 单栏极简 黑白 博客主题 SimpleOne

发表新评论