网络编程
位置:首页>> 网络编程>> Python编程>> Python实现获取域名所用服务器的真实IP

Python实现获取域名所用服务器的真实IP

作者:hebedich  发布时间:2022-08-13 20:10:00 

标签:Python,真实IP

本来是要写个程序用的,没写完不写了,这一部分就贴出来吧

验证域名和IP


class JianKong():
 '''查询IDC信息,封ip和过白名单'''
 def __init__(self):
   pass
 @classmethod
 def ip_verify(cls,str):
   '验证IP地址规范'
   pattern=re.compile('(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])')
   s=pattern.findall(str)
   if len(s)>0:
     ip=s[0][0]+'.'+s[0][1]+'.'+s[0][2]+'.'+s[0][3]
     return ip
   else:
     print 'IP格式不正确'#弹窗提醒
     return ''
 @classmethod
 def domain_verify(cls,domainStr):
   '验证域名规范,返回合法域名列表'
   domainList=[]
   file=open('c:\domain.txt','r')
   domainType=file.readlines()
   #去重
   domainType=list(set(domainType))
   #print domainType
   file.close()
   #file=['com','ac','com.cn','net'+'']
   for line in domainType:
     #文件中动态读取每个顶级域名进行匹配
     line=line.strip()
     pattern=re.compile('([a-z0-9][a-z0-9\-]*?\.'+line+')(?:\s|$)+',re.S)
     #例如[a-z0-9][a-z0-9\-]*?\.com.cn(?:\s|$)+ 中(?:\s|$)表示域名后缀后面必须是空白符或者字符结束(?:)表示括号不用于分组功能
     #防止.com.cn先匹配到.com即停止匹配导致错误,或者匹配到.comc多了字符
     result=pattern.findall(domainStr)
     if len(result)>0:
       #正确结果添加到返回列表
       domainList=domainList+result
   #去重
   domainList=list(set(domainList))
   newList=[]
   for d in domainList:
     if d not in domainType and d+'\n' not in domainType:
       newList.append(d)

return newList
 @classmethod
 def getDomainType(cls):
   '从工信部网站获取所有合法域名后缀'
   file=open('c:/domain.txt','w')
   p=re.compile('class=\"by2\">\.(.*?)\&nbsp;</td>', re.S)
   for i in range(1,23):
     data='domainName=&domainBlur=0&page.pageSize=20&pageNo='+str(i)+'&jumpPageNo='+str(i)
     header={'Host':'www.miitbeian.gov.cn','Origin':'http://www.miitbeian.gov.cn','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 UBrowser/5.5.6125.14 Safari/537.36','Referer':'http://www.miitbeian.gov.cn/basecode/query/queryDomain.action;jsessionid=HSTRWpLZbR0cX4vFkDpnpbNBYyRl4GwW1fxpyhdyc0fcfhkvJTBV!1139295987'}
     url='http://www.miitbeian.gov.cn/basecode/query/queryDomain.action;jsessionid=HSTRWpLZbR0cX4vFkDpnpbNBYyRl4GwW1fxpyhdyc0fcfhkvJTBV!1139295987'
     request=urllib2.Request(url,data,header)
     response=urllib2.urlopen(request)
     recv=response.read()
     s=p.findall(recv)
     #print s
     #去重
     s=list(set(s))
     for y in s:
       file.write(y+'\n')
       file.flush()
       #print str(i)+' '+y
   file.close()
   print '完毕'#弹窗完成
0
投稿

猜你喜欢

  • 听说有个面试题是: 如何快速向mysql中插入1000w条数据?我私下试了一下, 发现插入10000条数据用了0.9s, 插入10w条数据用
  • 本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下用两列数据绘制直方图#coding=gbkimport xlw
  • 题主Vue小白,入门demo时想在其中使用jQuery(当然可能是不推荐的做法哈,毕竟俩儿的风格不一样,但万一你就需要呢 _^ ^_),结果
  • 今天我们说一下使用python将word内容转换成html文件。下面一起来看一下。准备工作使用python类库PyDocX,安装方法(使用p
  • 导语前几天,有人私信小编:说陪女朋友在小广场上面逛街玩儿扎气球:结果一个都没扎破,扎心了老铁。女朋友都要离家出走了~让我给想想办法:小编只想
  • vue.js在生成相关js和css文件的时候,名称是通过HASH的方式进行生成的,但是每次生成的文件基本都是一样的,那么浏览器就会缓存这些文
  • @ResponseBody 和 @RequestBody 注解的区别1 前言在详述 @ResponseBody 和 @RequestBody
  • 使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一
  • 哎~工作忙死了!!!!!!今天在百度老年看到一个手写输入法,颇感新鲜。so把其框下!请不要用在商业用途,学习之用,版权百度所有。看代码!注:
  • 一、mysql主从复制介绍mysql的主从复制并不是数据库磁盘上的文件直接拷贝,而是通过逻辑的binlog日志复制到要同步的服务器本地,然后
  • 如下: function checkAttachment(){ alert("here"); var attachmen
  • 是的,我们知道:我们可以为border设置它的width,这个border的宽度可以是5px,可是10px,可以是20px,可以是随意数值。
  • 周末出去爬山,照了一大堆照片回来,照片同时存储为jpg和DNG格式,我用adobe bridge将dng格式的照片中要保留的筛选出来后,就不
  • django自定义管理器和model的继承在我写代码时建立的很多数据库需要一些共同的字段,比如is_active, create_time这
  • Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢。Django连接mysql数据库的操作,是通过根模
  • 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子:#! encoding=UTF-8 class A:
  • python UDP通信1.打开虚拟通信程序,选择UDP通信并选定收发数据的ip地址和port端口:2.在虚拟机中编写python程序与主机
  • 目前市面上成熟的CMS产品有很多,无外乎两种解决方案:第一种就是用XSL+XML的方式来实现客户端具体数据;第二种是生成HTML或者SHTM
  • 前言本文主要给大家介绍了解决apahce部署python程序出现503错误的相关内容,下面话不多说了,下一起看看详细的介绍吧。发现问题今天更
  • RIFF file formatRIFF全称为资源互换文件格式(Resources Interchange File Format),是Wi
手机版 网络编程 asp之家 www.aspxhome.com