python3实现域名查询和whois查询功能
1.域名查询
万网提供了域名查询接口,接口采用HTTP协议:
接口URL:http://panda.www.net.cn/cgi-bin/check.cgi
接口参数:area_domain,接口参数值为标准域名,例:doucube.com
调用举例:
http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com
返回:
-200 doucube.com 211:Domainnameisnotavailable
返回结果说明:
200 返回码,200表示返回成功doucube.com 表示当前查询的域名211:Domainnameisnotavailable 返回结果的原始信息,主要有以下几种 original=210:Domainnameisavailable表示域名可以注册 original=211:Domainnameisnotavailable表示域名已经注册 original=212:Domainnameisinvalid表示查询的域名无效 original=213:Timeout查询超时
用python3实现如下
1.1查询已经被注册的域名
importurllib.request
req=urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com')
print(req.read().decode())
返回结果:不可用,已经被注册
-200 doucube.com 211:Domainnameisnotavailable
1.2查询没有被注册的域名
req2=urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net')
print(req2.read().decode())
返回结果:可用,未被注册
-200 doucube.net 210:Domainnameisavailable
1.3查询不存在的域名,使用不存在的后缀
req3=urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net2')
print(req3.read().decode())
返回结果:域名无效
-200 doucube.net2 212:Domainnameisinvalid
.whois查询
由于没有找到像域名查询接口那样好的API,这里直接抓取站长之家的whois查询页面(http://whois.chinaz.com/)
req_whois=urllib.request.urlopen('http://whois.chinaz.com/doucube.com')
print(req_whois.read().decode())
在返回的结果中有这样一段html代码,这段信息就是查询的whois信息
域名:doucube.com 访问此网站
域名服务器:whois.godaddy.com
DNS服务器:DNS1.FREEHOSTIA.COM
DNS服务器:DNS2.FREEHOSTIA.COM
域名状态:运营商设置了客户禁止删除保护
域名状态:运营商设置了客户禁止续费保护
域名状态:运营商设置了客户禁止转移保护
域名状态:运营商设置了客户禁止修改保护
更新时间:2012年05月28日
创建时间:2012年05月23日
过期时间:2013年05月23日
联系人:zhu,alice
联系方式: