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