利用ip138取得公网IP,公网ip改变后报警通知我们进行更改

由于系统上绑了我们的出网ip又用的是家用网络基本上是每天一变,但是时间又不定,所以写了个查外网ip的

其实有完用可以用

curl http://ifconfig.me 

这样就只返回ip,不过国内的网络你懂的,
利用ip138取得公网IP,公网ip改变后报警通知我们进行更改_第1张图片

所在还是使用了ip138

在windows还想把报警加上,所以用了python。

import urllib.request
import pickle

fip = 'fip.pkl'
ip =''
with open(fip, 'rb') as f:
    ip = pickle.load(f)
print("上一次IP: " + ip)
print("---------")
getIpUrl = 'http://1212.ip138.com/ic.asp'

f = urllib.request.urlopen(getIpUrl)
g = f.read().decode('gb2312')
a1 = g.find("您的IP是:")
a2 = g.find("来自:")

newip = g[a1 + 7 :a2 - 2]
print("这一次IP: " + newip)

if ip != newip:
    print("you must change you ip! ");
    ip = newip
    ffip = open(fip, 'wb+')
    pickle.dump(newip, ffip)
    ffip.close()
else:
    print("ok !!")

 

其实在if语句里可以写许多报警的出使用pygame或者winsound来报放音乐报警,因为我们值班室随时有人,可以做个提示。也可以邮件短信报警了。

 

你可能感兴趣的:(利用ip138取得公网IP,公网ip改变后报警通知我们进行更改)