查询IP/域名对应IP信息代码,域名ip,#!/usr/bin/e
文章由Byrx.net分享于2019-03-23 09:03:22
查询IP/域名对应IP信息代码,域名ip,#!/usr/bin/e
#!/usr/bin/env python#-*- coding: utf-8 -*-import urllib2, sys, os, getoptdef 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,locationdef 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("<a href="http://ip.cn/getip.php?action=getip">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("<a href="http://ip.cn/getip.php?action=queryip&ip_url=">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("<a href="http://ip.cn/getip.php?action=queryip&ip_url=">http://ip.cn/getip.php?action=queryip&ip_url="+i).read() printip(queryip)if __name__ == "__main__": main()#该片段来自于http://byrx.net
评论关闭