python获取本机局域网ip和公网ip
1.本地局域网IP
局域网ip比较好获取,只需要udp协议访问一下DNS地址即可
import socket def get_host_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: s.connect(('8.8.8.8', 80)) # 114.114.114.114也是dns地址 ip = s.getsockname()[0] finally: s.close() return ip print("本机局域网IP是:", get_host_ip())
2.获取公网IP
公网ip很简单,我们请求一下专门获取ip的服务即可,类似于你百度一下“IP”,服务器会读取你的远程IP然后给你返回来
from urllib.request import urlopen ip = urlopen('http://ip.42.pl/raw').read().decode() print('本机所在公网IP是:', ip)
评论