python3实现域名查询和whois查询功能


Posted in Python onJune 21, 2018

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

返回:

<?xml version="1.0" encoding="gb2312" ?> 
- <property>
 <returncode>200</returncode> 
 <key>doucube.com</key> 
 <original>211 : Domain name is not available</original> 
 </property>

返回结果说明:

<returncode>200</returncode> 返回码,200表示返回成功
<key>doucube.com</key> 表示当前查询的域名
<original>211 : Domain name is not available</original> 返回结果的原始信息,主要有以下几种

original=210 : Domain name is available  表示域名可以注册
original=211 : Domain name is not available 表示域名已经注册
original=212 : Domain name is invalid  表示查询的域名无效
original=213 : Time out 查询超时

用python3实现如下

1.1 查询已经被注册的域名

import urllib.request
req = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.com')
print(req.read().decode())

返回结果:不可用,已经被注册

<?xml version="1.0" encoding="gb2312" ?> 
- <property>
 <returncode>200</returncode> 
 <key>doucube.com</key> 
 <original>211 : Domain name is not available</original> 
 </property>

1.2 查询没有被注册的域名

req2 = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net')
print(req2.read().decode())

返回结果:可用,未被注册

<?xml version="1.0" encoding="gb2312" ?> 
- <property>
 <returncode>200</returncode> 
 <key>doucube.net</key> 
 <original>210 : Domain name is available</original> 
 </property>

1.3 查询不存在的域名,使用不存在的后缀

req3 = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=doucube.net2')
print(req3.read().decode())

返回结果:域名无效

<?xml version="1.0" encoding="gb2312" ?> 
- <property>
 <returncode>200</returncode> 
 <key>doucube.net2</key> 
 <original>212 : Domain name is invalid</original> 
 </property>

.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信息

<div style=" text-align:center;"> 
 <div class="div_whois">
  域名:doucube.com  
  <a href='http://www.doucube.com' target=_blank>访问此网站</a></div>
 <div id="whoisinfo" class="div_whois">
  注册商:GODADDY.COM, LLC<br/>
  域名服务器:whois.godaddy.com<br/>
  DNS服务器:DNS1.FREEHOSTIA.COM<br/>
  DNS服务器:DNS2.FREEHOSTIA.COM<br/>
  域名状态:运营商设置了客户禁止删除保护<br/>
  域名状态:运营商设置了客户禁止续费保护<br/>
  域名状态:运营商设置了客户禁止转移保护<br/>
  域名状态:运营商设置了客户禁止修改保护<br/>
  更新时间:2012年05月28日<br/>
  创建时间:2012年05月23日<br/>
  过期时间:2013年05月23日<br/>
  联系人:zhu, alice<br/>
  联系方式:<img src="/displayemail.aspx?email=M8N8oc1O|iQhqGCDHdpH9m77v2qrQfW8"/>
  <br/>
  <br/>
 </div>
</div>
Python 相关文章推荐
Python中的类学习笔记
Sep 23 Python
利用Python脚本实现ping百度和google的方法
Jan 24 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 Python
python爬虫自动创建文件夹的功能
Aug 01 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
Nov 30 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
pytorch 如何使用float64训练
May 24 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 #Python
详解Python下ftp上传文件linux服务器
Jun 21 #Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 #Python
python实现黑客字幕雨效果
Jun 21 #Python
python实现内存监控系统
Mar 07 #Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 #Python
python 从csv读数据到mysql的实例
Jun 21 #Python
You might like
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python中尾递归用法实例详解
2015/04/28 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
房地产营销策划方案
2014/02/08 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
寻找成龙观后感
2015/06/12 职场文书
情人节单身感言
2015/08/03 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Python中三种花式打印的示例详解
2022/03/19 Python