cari
Rumahpembangunan bahagian belakangTutorial PythonPython实现获取域名所用服务器的真实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\">\.(.*&#63;)\ </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 '完毕'#弹窗完成

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana anda membuat tatasusunan pelbagai dimensi menggunakan numpy?Bagaimana anda membuat tatasusunan pelbagai dimensi menggunakan numpy?Apr 29, 2025 am 12:27 AM

Buat tatasusunan pelbagai dimensi dengan numpy dapat dicapai melalui langkah-langkah berikut: 1) Gunakan fungsi numpy.array () untuk membuat array, seperti Np.Array ([[1,2,3], [4,5,6]]) untuk membuat array 2D; 2) Gunakan np.zeros (), np.ones (), np.random.random () dan fungsi lain untuk membuat array yang diisi dengan nilai tertentu; 3) Memahami sifat bentuk dan saiz array untuk memastikan bahawa panjang sub-array adalah konsisten dan mengelakkan kesilapan; 4) Gunakan fungsi np.reshape () untuk mengubah bentuk array; 5) Perhatikan penggunaan memori untuk memastikan bahawa kod itu jelas dan cekap.

Terangkan konsep 'penyiaran' dalam array Numpy.Terangkan konsep 'penyiaran' dalam array Numpy.Apr 29, 2025 am 12:23 AM

Broadcastinginginnumpyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.itsImplifiescode, enhancesreadability, andboostsperformance.here'showitworks: 1) smallerarraysarepaddedwithonestomatchdimensions.2) CompatibeSt

Terangkan cara memilih antara senarai, array.array, dan array numpy untuk penyimpanan data.Terangkan cara memilih antara senarai, array.array, dan array numpy untuk penyimpanan data.Apr 29, 2025 am 12:20 AM

Forpythondatastorage, chooselistsforflexabilityWithMixedDatatypes, array.arrayformemory-efficienthomogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatileButlessefficefientfientfientfientfientfientfientfientfientfientfientfientforydodeSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShoFficeSforaydataSetShoSforayDataSetsforayDataSetsforayDataSetsforaydataSetShiSforayDodeSforayDodeSforaydataSetRaydataSetRaydataSetRaydataSet

Berikan contoh senario di mana menggunakan senarai python akan lebih sesuai daripada menggunakan array.Berikan contoh senario di mana menggunakan senarai python akan lebih sesuai daripada menggunakan array.Apr 29, 2025 am 12:17 AM

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1) listscanholdelementsofdifferenttypes, 2) thearedynamic, membolehkanEaseasyAdditionsandremoVals, 3) theofferintuitiitiveoperationslikeslicing, tetapi4).

Bagaimana anda mengakses elemen dalam pelbagai python?Bagaimana anda mengakses elemen dalam pelbagai python?Apr 29, 2025 am 12:11 AM

ToAccessElementsInapyThonArray, useIndexing: my_array [2] AccessestHeTheRdeLement, returning3.pythonuseszero-berasaskanIndexing.1) USE sitiveandnegativeindexing: my_list [0] forthefirstelement, my_list [-1] forthelast.2) menggunakanSlicingForarangange: my_list [1: 5] ekstrakSelemen

Adakah pemahaman tuple mungkin di Python? Jika ya, bagaimana dan jika tidak mengapa?Adakah pemahaman tuple mungkin di Python? Jika ya, bagaimana dan jika tidak mengapa?Apr 28, 2025 pm 04:34 PM

Artikel membincangkan kemustahilan pemahaman tuple di Python kerana kekaburan sintaks. Alternatif seperti menggunakan tuple () dengan ekspresi penjana dicadangkan untuk mencipta tupel dengan cekap. (159 aksara)

Apakah modul dan pakej dalam Python?Apakah modul dan pakej dalam Python?Apr 28, 2025 pm 04:33 PM

Artikel ini menerangkan modul dan pakej dalam Python, perbezaan, dan penggunaannya. Modul adalah fail tunggal, manakala pakej adalah direktori dengan fail __init__.py, menganjurkan modul yang berkaitan secara hierarki.

Apa itu Docstring dalam Python?Apa itu Docstring dalam Python?Apr 28, 2025 pm 04:30 PM

Artikel membincangkan docstrings dalam python, penggunaan, dan faedah mereka. Isu Utama: Kepentingan Docstrings untuk Dokumentasi Kod dan Kebolehcapaian.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).