方法一:
通常使用socket.gethostbyname()
方法即可獲取本機IP地址,但有時候獲取不到(比如沒有正確設置主機名稱),示例代碼如下:
import socket # 獲取本機計算機名稱 hostname = socket.gethostname() # 獲取本機ip ip = socket.gethostbyname(hostname) print(ip)
親測:如果使用手機時,地址為127.0.0.1,如果使用電腦(windows)無線連接時,地址為外網地址。
方法二:
在windows和Linux系統下均可正確獲取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())
親測:無論手機還是電腦(windows)無線連接時,地址為設定地址(或自動獲取的地址)。
原博客地址:https://blog.csdn.net/u013314786/article/details/78962103