python-----獲取ip的兩種方法


方法一: 

通常使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM