欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)獲取域名所用服務(wù)器的真實(shí)IP

 更新時(shí)間:2015年10月25日 12:12:24   投稿:hebedich  
本文是給大家分享的使用python獲取到域名所在服務(wù)器的真實(shí)IP,原因是現(xiàn)在很多的網(wǎng)站都使用了CDN,大家很難直接查到域名的服務(wù)器的IP,本文是使用了一個(gè)巧妙的方法,詳情請(qǐng)仔細(xì)看看下文吧

本來是要寫個(gè)程序用的,沒寫完不寫了,這一部分就貼出來吧

驗(yàn)證域名和IP

class JianKong():
  '''查詢IDC信息,封ip和過白名單'''
  def __init__(self):
    pass
  @classmethod
  def ip_verify(cls,str):
    '驗(yàn)證IP地址規(guī)范'
    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):
    '驗(yàn)證域名規(guī)范,返回合法域名列表'
    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:
      #文件中動(dòng)態(tài)讀取每個(gè)頂級(jí)域名進(jìn)行匹配
      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|$)表示域名后綴后面必須是空白符或者字符結(jié)束(?:)表示括號(hào)不用于分組功能
      #防止.com.cn先匹配到.com即停止匹配導(dǎo)致錯(cuò)誤,或者匹配到.comc多了字符
      result=pattern.findall(domainStr)
      if len(result)>0:
        #正確結(jié)果添加到返回列表
        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):
    '從工信部網(wǎng)站獲取所有合法域名后綴'
    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 '完畢'#彈窗完成

相關(guān)文章

最新評(píng)論