溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

獲取設備的主機名和ip地址

發布時間:2020-07-21 13:52:15 來源:網絡 閱讀:1731 作者:祥波 欄目:開發技術

Python的socket模塊提供了類的方法和實例方法,二者區別在于使用類方法時不需要創建套接字對象實例。比如,以下例子利用此模塊獲取主機名和ip地址。

源代碼如下

#!/usr/bin/env python
#This program is optimized for python 2.7 .It may run on any
#other python version with/without modifications.
#Failname:local_machine_info.py

import socket

def print_machine_info():
    host_name=socket.gethostname()
    ip_address=socket.gethostbyname(host_name)
    print "Host name : %s" %host_name
    print "IP address: %s" %ip_address

if __name__=='__main__':
    print_machine_info()

執行結果:

獲取設備的主機名和ip地址


原理分析:


本例程調用了socket中的兩個工具函數gethostname()和gethostbyname()??梢允褂胔elp()函數查看幫助信息。

獲取設備的主機名和ip地址

獲取設備的主機名和ip地址


獲取設備的主機名和ip地址

獲取遠程設備的IP地址

使用內置的庫函數gethostbyname()可以獲取遠程設備的ip地址,函數的參數為目標主機的主機名。

以遠程主機名為www.51cto.com為例,代碼如下:

#!/usr/bin/env python
#This program is optimized for python 2.7
#It may run on any other version with/without modifications
#Filename:remote_machine_info.py

import socket
def get_remote_matchine_info():
    remote_host='www.51cto.com'
    try:
        print " remote_host is:%s"%remote_host
        print "IP address:%s"%socket.gethostbyname(remote_host)
    except socket.error,err_msg:
        print "%s:%s"%(remote_host,err_msg)

if __name__=='__main__':
    get_remote_matchine_info()


執行結果:

獲取設備的主機名和ip地址

原理分析:

本例將主要的函數調用放在了try-except塊中,如果gethostbyname()函數執行的過程中發送了錯誤,這個錯誤將由try-except塊處理,提示錯誤信息。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女