zoukankan      html  css  js  c++  java
  • 校园网络维护脚本

    该脚本一直监测网络连接情况,若出现断网情况,自动连接网络。

    话不多说,直接贴代码:

    NetLogin.py

      1 #coding: utf-8
      2 
      3 import requests
      4 import time
      5 import datetime
      6 import sys
      7 
      8 reload(sys)
      9 sys.setdefaultencoding("utf-8")
     10 
     11 class NetLogin:
     12 
     13     def __init__(self):
     14         self.login_url = 'http://p.nju.edu.cn/portal_io/login'
     15         self.info_url = 'http://p.nju.edu.cn/portal_io/getinfo' #登录状态下获取,方式:get
     16         self.logout_url = 'http://p.nju.edu.cn/portal_io/logout'
     17         self.headers = {
     18                         'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
     19                         'Referer': 'http://p.nju.edu.cn/',
     20                         'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36',
     21                         'X-Requested-With': 'XMLHttpRequest'
     22                         }
     23 
     24         self.form_data = {
     25                         'username': 'MGxxxxxxx',
     26                         'password': 'xxxxxx'
     27                          }
     28         self.timeout = 5
     29 
     30         self.test_url = 'http://www.baidu.com/'
     31         self.testStr = "030173"
     32 
     33 
     34     def net_test(self):
     35         try:
     36             s = requests.session()
     37             r = s.get(self.test_url, headers=self.headers, timeout=self.timeout)
     38             pos = r.content.find(self.testStr)
     39             if pos >= 1:
     40                 #print 'Internet Ok'
     41                 return 'Internet Ok'
     42             else:
     43                 #print 'Internet Wrong'
     44                 return 'Internet Wrong'
     45         except Exception, e:
     46             print e
     47 
     48 
     49 
     50 
     51     def create_session(self):
     52         s = requests.session()
     53         return s
     54 
     55     def login(self):
     56         s = self.create_session()
     57         r = s.post(self.login_url, self.form_data, headers=self.headers)
     58         if r.json()['reply_code'] == 1:
     59             print r.json()['reply_msg']
     60             return r.json()['reply_msg']
     61         else:
     62             #print u"login failed"
     63             return u"login failed"
     64 
     65     #获取登录信息,需要完成登录后执行该函数
     66     def getInfo(self):
     67         s = self.create_session()
     68         r = s.get(self.info_url, headers=self.headers)
     69 
     70     #网络注销
     71     def logout(self):
     72         s = self.create_session()
     73         r = s.post(self.logout_url, headers=self.headers)
     74 
     75 
     76 if __name__ == "__main__":
     77     net = NetLogin()
     78     signal = net.net_test()
     79     #log = open('netlog.txt', 'a')
     80     while True:
     81         if signal == 'Internet Ok':
     82             #s = str(datetime.datetime.now())
     83             print datetime.datetime.now()
     84             print signal
     85             '''
     86             log.write(s)
     87             log.write('
    ')
     88             log.write(signal)
     89             log.write('
    ')
     90             '''
     91 
     92         else:
     93             #s = str(datetime.datetime.now()) + ':'
     94             print signal
     95             str = net.login()
     96             print datetime.datetime.now()
     97             print str
     98             '''
     99             log.write(s)
    100             log.write('
    ')
    101             log.write(str)
    102             log.write('
    ')
    103             '''
    104         time.sleep(1)
    105         signal = net.net_test()
    106         '''
    107         num += 1
    108         if num == 5:
    109             flag = False
    110         '''
    111 
    112     #log.close()
  • 相关阅读:
    Scala泛型
    Tensorflow激活函数
    20181030-4 每周例行报告
    20181023-3 每周例行报告
    20181016-10 每周例行报告
    20181009-9 每周例行报告
    第三周作业(4)——单元测试
    第三周作业(5)——代码规范
    第三周作业(2)——功能测试
    第三周作业(3)——词频统计--效能分析
  • 原文地址:https://www.cnblogs.com/nju2014/p/4681890.html
Copyright © 2011-2022 走看看