还有其他几种不依赖Python检查外部网站的方式,但是OS可以。这里的主要问题是,即使您没有使用Python,也即使使用命令行,也没有“内置”命令可以简单地告诉您外部(WAN)IP。诸如“ ip addr show”和“ ifconfig -a”之类的命令将显示网络中服务器的IP地址。实际上只有路由器拥有外部IP。但是,有一些方法可以从命令行中找到外部IP地址(WAN IP)。
这些示例是:
http://ipecho.net/plain ; echo
curl ipinfo.io/ip
dig +short myip.opendns.com @resolver1.opendns.com
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
因此,python代码将是:
import os
ip = os.popen('wget -qO- http://ipecho.net/plain ; echo').readlines(-1)[0].strip()
print ip
要么
import os
iN, out, err = os.popen3('curl ipinfo.io/ip')
iN.close() ; err.close()
ip = out.read().strip()
print ip
要么
import os
ip = os.popen('dig +short myip.opendns.com @resolver1.opendns.com').readlines(-1)[0].strip()
print ip
或者,将上述任何其他示例插入到诸如os.popen,os.popen2,os.popen3或os.system之类的命令中。