Python獲取無線局域網IP


搬運來源: https://www.cnblogs.com/lianshuiwuyi/p/11636876.html

Python獲取無線局域網IP

本文記錄使用Python獲取本機IP的兩種方法。

通過hostname來獲取本機IP

import socket print(socket.gethostbyname(socket.gethostname()))

此方法是先獲取hostname,然后在通過hostname來查看本機的IP。不推薦此方法,因為若是在/etc/hosts中將hostnam設置為127.0.0.1,那么獲取到的就是127.0.0.1,而非本機的真實IP。

通過UDP獲取本機IP

import socket try: s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.connect(('8.8.8.8',80)) ip = s.getsockname()[0] finally: s.close() print(ip) 

此方法利用UDP協議,生成一個UDP包,將自己的IP放入UDP協議頭中,然后再從中獲取本機的IP。此方法雖然不會真實向外發包,但仍然會申請一個UDP的端口,所以如果頻繁調用的話也是比較耗時的;可以將查詢到的IP緩存在別處以供使用。


免責聲明!

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



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