谁能帮我解释下下面脚本的含义
发表于 : 2012-05-20 10:04
#!/usr/bin/env python3
# vim:fileencoding=utf-8
import os
import base64
import smtplib
import urllib.request
from subprocess import check_call, PIPE
iffile = '/tmp/ip'
def getlastip():
try:
return open(iffile).read()
except IOError:
return False
def getcurip():
return urllib.request.urlopen('http://icanhazip.com/').read().rstrip().decode()
def mailip(ip):
check_call(['/usr/local/sbin/cjb-update.sh'], stdout=PIPE)
s = smtplib.SMTP('smtp.126.com')
status = s.login('xxx', base64.decodebytes(b'yyy').decode())[0]
if status == 235:
msg = 'From: xxx\r\n'\
'To: yyy\r\n'\
'Subject: latest ip\r\n'\
'\r\n'
msg += ip
s.sendmail('xxx', 'yyy', msg)
else:
return False
s.quit()
def main():
while True:
curip = getcurip()
if not curip.strip():
# 有时会得到空内容
continue
if curip != getlastip():
open(iffile, 'w').write(curip)
mailip(curip)
break
if __name__ == '__main__':
main()
# vim:fileencoding=utf-8
import os
import base64
import smtplib
import urllib.request
from subprocess import check_call, PIPE
iffile = '/tmp/ip'
def getlastip():
try:
return open(iffile).read()
except IOError:
return False
def getcurip():
return urllib.request.urlopen('http://icanhazip.com/').read().rstrip().decode()
def mailip(ip):
check_call(['/usr/local/sbin/cjb-update.sh'], stdout=PIPE)
s = smtplib.SMTP('smtp.126.com')
status = s.login('xxx', base64.decodebytes(b'yyy').decode())[0]
if status == 235:
msg = 'From: xxx\r\n'\
'To: yyy\r\n'\
'Subject: latest ip\r\n'\
'\r\n'
msg += ip
s.sendmail('xxx', 'yyy', msg)
else:
return False
s.quit()
def main():
while True:
curip = getcurip()
if not curip.strip():
# 有时会得到空内容
continue
if curip != getlastip():
open(iffile, 'w').write(curip)
mailip(curip)
break
if __name__ == '__main__':
main()