码迷,mamicode.com
首页 > 其他好文 > 详细

域名查找及错误检查

时间:2016-12-24 23:20:40      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:python

检查的方法就是首先根据ip查找出一个域名。

然后再根据这个域名查找出一个ip列表。

最后检查你所用ip是否再ip列表里面。

#!/usr/bin/env python
#coding:utf-8
#根据ip反查域名,并且检查域名是否正确
import socket, sys

ip = sys.argv[1]

#根据ip地址查找域名
def findyuming(ip):
    m = socket.gethostbyaddr(ip)
    ym = m[0]
    return ym

#根据查找到的域名,得到ip列表
def findiplist(yuming):
    l = socket.getaddrinfo(yuming, None)
    return [x[4][0] for x in l]

#错误捕捉与处理
try:
    y = findyuming(ip)
    m = findiplist(y)
except socket.herror, e:
    print "No host name available for %s" % ip
    sys.exit(0)
except socket.gaierror, e:
    print "No host name available for %s" % ip
    sys.exit(0)

#检查所得的ip是否是再ip列表里面
if ip not in m:
    print "No host name available for %s" % ip
    sys.exit(1)
print "validated hostname:", y

执行一下:

[root@slave four]# python two.py 127.0.0.1
validated hostname: localhost
[root@slave four]# python two.py 127.0.0.2
No host name available for 127.0.0.2


本文出自 “自定义” 博客,谢绝转载!

域名查找及错误检查

标签:python

原文地址:http://zidingyi.blog.51cto.com/10735263/1885791

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!