问题:
家里宽带开通了公网ip,将个人网站放在家里,设置好DMZ主机和域名解析,即可实现域名访问。但是家里路由器需要定期重启,重启后的公网ip就会变更,需要查到变更后的公网Ip,然后修改域名解析。由于经常出差,路由器重启后无法在外面及时获取公网Ip,虽然使用ddns动态域名服务可以解决,但是需要花money,不想花。
解决思路:
在服务器上使用Python获取公网ip并发送邮件到指定邮箱。然后将此python程序在服务器上设置为定时自动任务,与重启路由器的时间相匹配,这样每次重启路由器后定时任务随后运行,获取最新Ip,发送到邮箱,然后手动修改域名解析地址。
python代码如下(将里面的*替换为你的邮箱、密码等内容):
from urllib.request import urlopen
from json import load
def getmyip():
my_ip = load(urlopen('http://httpbin.org/ip'))['origin']
return my_ip
import smtplib
from email.mime.text import MIMEText
mail_host = 'smtp.163.com'
mail_user = '*****'
mail_pass = '*******'
sender = '****@163.com'
receivers = ['*****@qq.com']
message = MIMEText('python','plain','utf-8')
message['Subject'] = '服务器目前的公网ip地址' +getmyip()
message['From'] = sender
message['To'] = receivers[0]
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host,25)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(
sender,receivers,message.as_string())
smtpObj.quit()
print('success')
except smtplib.SMTPException as e:
print('error',e)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)