import re
import base64
import urllib2
import urlparse
import time
import datetime
from optparse import OptionParser
def get_status(url):
o = urlparse.urlparse(url)
if o.username and o.password:
user_passwd = o.username+":"+o.password
url = url.replace(user_passwd+"@", "", 1)
req = urllib2.Request(url)
req.add_header("Authorization", "Basic " + base64.encodestring(user_passwd))
else:
req = urllib2.Request(url)
try:
response = urllib2.urlopen(req)
except urllib2.HTTPError, err:
print err
return None
except urllib2.URLError, err:
print err
return None
except socket.timeout:
return None
else:
data = response.read()
data = unicode(data.replace("\n", ""), 'utf-8')
m = re.search(r"Info\((.+)\)", data)
if m:
d = m.group(1)
s = d.split(",")
return s[5].strip().strip("\"")
return None
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("-p", "--password", dest="password")
(options, args) = parser.parse_args()
url = "http://admin:%s@192.168.100.254/admin/RS_getWiMAXInfo.asp" % options.password
while 1:
try:
dt = datetime.datetime.now()
print dt.strftime('%Y-%m-%d %H:%M:%S'),
status = get_status(url)
if status:
print u"電波強度[%s]" % status
else:
print u"---"
time.sleep(3)
except KeyboardInterrupt:
break