利用python 獲取本機IP位址

2021-09-28 22:56:54 字數 1121 閱讀 3088

本機 ip 在變化,但是**中需要ip當引數,

這時候我們可以用下面幾種方法來獲取ip位址

#效果是這樣子的啊

# [' inet addr:192.168.8.110 bcast:192.168.8.255 mask:255.255.255.0\n']

#然後強大的正則來了

這個 主要是用socket 協議  ,懶的寫**了,現搬了乙個  

原文** 

解釋一下,這個是通過 connet,這裡她選擇8.8.8.8,是google提供的免費dns伺服器的ip位址,一般不會掛,完成乙個有連線協議的連線過程,在利用這個函式

int getsockname(int s, struct sockaddr *name, socklen_t *namelen);

get the current name for the specified socket.

獲取本地套介面的名字,包括它的ip和埠。

import socket

def get_host_ip():

"""查詢本機ip位址

:return: ip

"""try:

s = socket.socket(socket.af_inet, socket.sock_dgram)

s.connect(('8.8.8.8', 80))

ip = s.getsockname()[0]

finally:

s.close()

return ip

if __name__ == '__main__':

print(get_host_ip())

python 獲取本機 IP

這個方法是目前見過最優雅獲取本機伺服器的ip方法了。沒有任何的依賴,也沒有去猜測機器上的網路裝置資訊。而且是利用 udp 協議來實現的,生成乙個udp包,把自己的 ip 放如到 udp 協議頭中,然後從udp包中獲取本機的ip。這個方法並不會真實的向外部發包,所以用抓包工具是看不到的。但是會申請乙個...

python 獲取本機 IP

總是會有獲取本機 ip 的需求,但是就是這樣乙個簡單的需求處理起來還是有很多需要細化 明確的東東。1 什麼是本機 ip?本機的外網 ip?本機的內網 ip?2 是在 linux 上還是其他系統也要支援?為此,咱今兒特意查了下谷歌娘,總結得到以下 支援linux 32 64,solaris,win.但...

Windows phone8 獲取本機 IP 位址

可以在 bing 查詢中輸入 my ip address 然後確認這樣可以看到自己的 ip。如果需要通過 程式設計來獲取本機 ip,可以使用以下 注意 此段 在 wp7.1 上無法編譯通過,networkinformation 未定義。1 public class gethostipaddress ...