• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發其它知識 → python獲取本機ip主機名等信息

    python獲取本機ip主機名等信息

    相關軟件相關文章發表評論 來源:西西整理時間:2015/1/26 15:07:05字體大?。?em class="fontsize">A-A+

    作者:西西點擊:361次評論:0次標簽: python

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

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

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

    Python
    7.2
    類別: 編程工具    大?。?9.8M    語言: 英文
    查看詳細信息 >>

    [python] 

    import socket  

    import fcntl  

    import struct  

    """ 

    獲取主機ip地址 

    參數ifname: 通過'lo'獲取的為環回地址, 通過'eth0'獲取的為主機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主機名等信息

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

    Windows下獲得IP地址的方法

    方法一

    使用撥號上網的話,一般都有一個本地ip和一個外網ip,使用python可以很容易的得到這兩個ip 使用gethostbyname和gethostbyname_ex兩個函數可以實現

    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)

      相關評論

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

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

      熱門評論

      最新評論

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

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>