日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → python獲取本機(jī)ip主機(jī)名等信息

      python獲取本機(jī)ip主機(jī)名等信息

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2015/1/26 15:07:05字體大。A-A+

      作者:西西點擊:361次評論:0次標(biāo)簽: python

      《派森》(Python)3.13 win32 英文安裝版
      • 類型:編程工具大小:21M語言:英文 評分:8.7
      • 標(biāo)簽:
      立即下載

      python有好幾種方法可以獲取主機(jī)的ip地址,python的socket包含了豐富的函數(shù)和方法可以獲得本機(jī)的ip地址信息,socket對象的gethostbyname方法可以根據(jù)主機(jī)名獲得本機(jī)ip地址,socket對象的gethostbyname_ex方法可以獲得本機(jī)所有ip地址列表

      我常用的一種是通過socket.socket().inet_ntoa()來實現(xiàn),非常方便;但這種方法有個限制就是要把網(wǎng)卡名(比如eth0)作為參數(shù)傳進(jìn)來。所以加多了一個條件判斷,如果發(fā)現(xiàn)以上方法獲取ip拋異常時,那就用調(diào)起shell命令(ifconfig)和管道,把想要的ip給過濾出來。

      Python
      7.2
      類別: 編程工具    大。29.8M    語言: 英文
      查看詳細(xì)信息 >>

      [python] 

      import socket  

      import fcntl  

      import struct  

      """ 

      獲取主機(jī)ip地址 

      參數(shù)ifname: 通過'lo'獲取的為環(huán)回地址, 通過'eth0'獲取的為主機(jī)ip地址 

      """  

      def get_ip_address(ifname='eth0'):  

          try:  

              s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    

              return socket.inet_ntoa(fcntl.ioctl(  

                  s.fileno(),    

                  0x8915, # SIOCGIFADDR    

                  struct.pack('256s', ifname[:15])    

              )[20:24])   

          except:  

              ips = os.popen("LANG=C ifconfig | grep \"inet addr\" | grep -v \"127.0.0.1\" | awk -F \":\" '{print $2}' | awk '{print $1}'").readlines()  

              if len(ips) > 0:  

                  return ips[0]  

          return ''

      Python獲取域名IP和本地ip主機(jī)名等信息

      #coding: gbk
      import socket
      socket.gethostbyname('www.ksks6.com')    #獲取域名對應(yīng)的IP
      socket.gethostbyname(socket.gethostname())    #獲取主機(jī)名
      socket.gethostbyname_ex(socket.gethostname())    #根據(jù)主機(jī)名判斷出IP

      Windows下獲得IP地址的方法

      方法一

      使用撥號上網(wǎng)的話,一般都有一個本地ip和一個外網(wǎng)ip,使用python可以很容易的得到這兩個ip 使用gethostbyname和gethostbyname_ex兩個函數(shù)可以實現(xiàn)

      import socket

      localIP = socket.gethostbyname(socket.gethostname())#得到本地ip

      print "local ip:%s "%localIP

      ipList = socket.gethostbyname_ex(socket.gethostname())

      for i in ipList:

          if i != localIP:

             print "external IP:%s"%i

      方法二

      import socket

      myname = socket.getfqdn(socket.gethostname())

      myaddr = socket.gethostbyname(myname)

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)