python获取本机ip地址_python3 获取本机ip地址
由于工作需要,需要獲取本機的ip地址,經過查詢有以下方法
第一種方法:
使用socket.gethostname()方法即可獲取本機IP地址,但有時候獲取不到(比如沒有正確設置主機名稱)
gethostname():gethostname函數檢索本地計算機的標準主機名。
gethostbyname():gethostbyname函數從主機數據庫中檢索與主機名相對應的主機信息。import socket
host_name=socket.gethostname()
host=socket.gethostbyname(host_name)
print(host)
'192.168.204.1'
注意:
該方法不適用于ubuntu,因為只返回127.0.0.1
第二種方法:
通過 UDP 獲取本機 IP,沒有任何的依賴,也不需要機器上的網絡設備信息,利用 UDP 協議來實現的,生成一個UDP包,把自己的 IP 放如到 UDP 協議頭中,然后從UDP包中獲取本機的IP。
這個方法并不會真實的向外部發包,所以用抓包工具是看不到的。但會申請一個 UDP 的端口,所以如果經常調用也會比較耗時的,如果將查詢到的IP給緩存起來,性能可以獲得很大提升。import socket
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# doesn't even have to be reachable
s.connect(('10.
總結
以上是生活随笔為你收集整理的python获取本机ip地址_python3 获取本机ip地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: geoserver native JAI
- 下一篇: 【数据结构】量子危机