玩蛇网提供最新Python编程技术信息以及Python资源下载!

python自动查询域名对应IP信息代码

python 培训
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import  urllib2, sys, os, getopt
def usage():
    print """用法: getip [选项]... [ip或域名]...[ip或域名]...
查询IP或域名对应IP信息,可同时查询一个或多个。
不接任何参数将返回本机IP信息。
选项说明:
-h, --help                返回本帮助信息
-i, --infile=filepath        从文件中读取IP,文件格式每行一个IP或域名
例:getip 192.168.0.1 [url]www.xnlinux.cn[/url]
   getip -i ip.txt
发现任何问题请向[email]itxx00@gmail.com[/email]报告。"""
def printip(ip): #打印IP信息
    type = sys.getfilesystemencoding()
    encodeip = ip.decode("GBK").encode(type)
    resultip = encodeip.split(">")
    ip = (resultip[1]).split("<")[0]
    location = (resultip[2]).split(":")[1]
    print ip,location
def main():
    try: #获取命令行参数
        opts,args = getopt.getopt(sys.argv[1:],"hi:",["help","infile="])
    except getopt.GetoptError: #参数错误处理
        usage()
        sys.exit()
    if len(sys.argv) == 1: #未加参数则显示本机IP信息
        localip = urllib2.urlopen("http://ip.cn/getip.php?action=getip").read()
        print "本机IP:",
        printip(localip)
        sys.exit()
    for o,a in opts: #接受参数选项
        if o in ("-h","--help"): #帮助信息
            usage()
            sys.exit()
        if o in ("-i","--infile"): #从文件读取查询的IP
            if os.path.isfile(a):
                file = open(a,"r")
                for fip in file:
                    queryip = urllib2.urlopen("http://ip.cn/getip.php?action=queryip&ip_url="+fip).read()
                    printip(queryip)
                file.close()
            else:
                print "文件",a,"不存在"
                sys.exit()
    else: #从命令行参数获取查询的IP
        for i in args:
            queryip = urllib2.urlopen("http://ip.cn/getip.php?action=queryip&ip_url="+i).read()
            printip(queryip)
if __name__ == "__main__":
    main()

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/other/o2491.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-03-29 15:44 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部