山东大学断网自动重连

需要用到山东大学校园网,实现断网自动重连。

代码实现如下:

 coding=utf-8

import requests
import time
import os
import subprocess
import re

class Reconnect:
    # 初始化
    def __init__(self):
        # 检测间隔时间,单位为秒
        self.every = 10


    # 获取当前时间戳,13位
    def getNowTime(self):
        return str(int(time.time())) + "000"
    # 获取ip
    def get_ipconfig_ip(self):

        ipconfig_result_list = os.popen('ipconfig').readlines()  # 执行cmd命令ipconfig,并将结果存于ipconfig_result_list

        for i in range(0, len(ipconfig_result_list)):  # 逐行查找
            if re.search(r'无线局域网适配器 WLAN', ipconfig_result_list[i]) != None:

                for j in range(1, 8):
                    if re.search(r"IPv4 地址", ipconfig_result_list[i + j]) != None:
                        match_ip = re.search(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ipconfig_result_list[i + j]).group(
                            0)  # 由正则表达式获取ip地址
                        return match_ip

        return None

    # 模拟登录
    def login(self):
        print(self.getCurrentTime(), u"拼命连网中...")

        url = "http://192.168.8.10/portal/login.jsp?Flag=0"
        # 消息头
        headers = {
            'Host': "192.168.8.10",
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36",
            'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
            'Accept-Language': "zh-CN,zh;q=0.8",
            'Accept-Encoding': "gzip, deflate",
            'Referer': "http://192.168.8.10/portal/index_default.jsp?Language=Chinese",
            'Upgrade - Insecure - Requests': '1',
            'Cache - Control': 'max - age = 0',
            'Connection': "keep-alive",
            'Origin': 'http://192.168.8.10',
            'Content-Type': "application/x-www-form-urlencoded",
            'Content-Length': '360'
        }

        self.ip=self.get_ipconfig_ip()
        # 提交的信息
        data = {
            'Language': 'Chinese',
            'ClientIP': self.ip,
            'timeoutvalue': '45',
            'heartbeat': '240',
            'fastwebornot': False,
            'StartTime': self.getNowTime(),
            'username': '',#输入学号
            'password': '',#输入密码
            'shkOvertime': '720',
            'strOldPrivateIP': self.ip,
            'strOldPublicIP': self.ip,
            'strPrivateIP': self.ip,
            'PublicIP': self.ip,
            'iIPCONFIG':0,
            'sHttpPrefix': 'http://192.168.8.10'
        }

        try:
            r = requests.post(url, headers=headers, data=data)
            print(r.text)
            print(self.ip)
            print(self.getCurrentTime(), u'连上了...现在开始看连接是否正常')
        except:
            print("连接失败")

    def canConnect(self):

        fnull = open(os.devnull, 'w')
        result = subprocess.call('ping www.baidu.com', shell=True, stdout=fnull, stderr=fnull)
        fnull.close()
        if result:
            return False
        else:
            return True

    # 获取当前时间
    def getCurrentTime(self):
        return time.strftime('[%Y-%m-%d %H:%M:%S]', time.localtime(time.time()))

        # 主函数

    def main(self):
        print(self.getCurrentTime(), u"Hi,欢迎使用自动登陆系统")
        while True:
            self.login()
            while True:
                can_connect = self.canConnect()
                if not can_connect:
                    print(self.getCurrentTime(), u"断网了...")
                    self.login()
                else:
                    print(self.getCurrentTime(), u"一切正常...")
                time.sleep(self.every)
            time.sleep(self.every)


reconnect = Reconnect()
reconnect.main()

转载自https://blog.csdn.net/yyhui95/article/details/73008602


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 山东大学云计算csdn是指山东大学开设的云计算专业课程,同时也是山东大学与中国软件开发网(CSDN)合作开展的项目。云计算是一种基于互联网的计算模式,通过将计算资源、存储资源和应用程序提供给用户,实现按需、灵活、高效、安全的信息技术服务。 山东大学作为中国著名高校,致力于推动云计算产业的发展。通过与CSDN合作,山东大学将与业界领先的IT技术平台合作,为学生提供更全面、实用的教学内容和学习资源。学生们可以通过csdn平台学习到最新的云计算技术,掌握云计算的基本原理和应用技巧。 云计算csdn课程的开设对于学生来说具有重要意义。首先,云计算是信息技术的热门领域,学习云计算可以提高学生的就业竞争力。随着互联网的快速发展,云计算的需求也在不断增加,因此具备云计算技能的人才将受到市场的青睐。 其次,云计算csdn课程还有助于学生提升专业素养和实践能力。通过云计算csdn课程,学生可以学习到云计算的相关理论知识,同时也能够进行实践操作,掌握云计算平台的使用方法,提高解决实际问题的能力。 总之,山东大学云计算csdn项目为学生提供了一个学习和实践云计算技术的平台。通过学习和参与云计算csdn课程,学生将能够掌握云计算的基本原理和实践技巧,提高自身的就业竞争力,为云计算产业的发展做出贡献。 ### 回答2: 山东大学云计算CSDN是山东大学云计算学院在CSDN(中国软件开发者社区)上的官方账号。作为山东大学云计算学院的官方账号,其宗旨是为广大云计算爱好者和学习者提供最新的云计算技术、行业动态、学术研究成果等信息,并促进云计算领域的交流和合作。 山东大学云计算CSDN的主要工作包括发布与云计算相关的学术论文、技术文章、实践经验和解决方案等内容,以及举办线上和线下的技术交流活动。通过这些活动,山东大学云计算CSDN致力于推广云计算技术,促进云计算领域的研究和发展。 同时,山东大学云计算CSDN也是一个互动平台,欢迎云计算爱好者和学习者通过留言、评论、私信等方式与其进行交流和互动。通过与用户的互动,山东大学云计算CSDN可以更好地了解用户需求和关注点,并针对性地提供更加有价值的内容和服务。 总之,山东大学云计算CSDN是山东大学云计算学院在CSDN上的官方代表,致力于推广云计算技术,促进云计算领域的发展,同时提供与用户的互动平台,为广大云计算爱好者和学习者提供优质的内容和服务。 ### 回答3: 山东大学云计算csdn是指山东大学云计算专业在CSDN(中国软件开发网)上的相关信息介绍和交流平台。 山东大学位于中国山东省济南市,是一所具有百年历史和良好声誉的综合性大学。山东大学云计算专业是该校计算机学院的一个重要学科方向,旨在培养学生在云计算领域的理论基础和实践技能。 CSDN是中国最大的IT技术社区和专业的技术博客平台,为广大开发者提供知识学习、技术交流、资源分享的在线平台。在CSDN的山东大学云计算csdn页面上,学校和专业的相关信息被集中展示,包括专业介绍、课程设置、教师团队、科研成果等内容。学生和教师可以通过CSDN发表博客和文章,与其他开发者和专家进行交流和讨论,共同提升云计算领域的技术水平和研究成果。 山东大学云计算csdn的建立对于学校和专业来说具有重要意义。首先,它为学生提供了一个实时更新的信息平台,方便了他们了解课程、选修情况和教育资源。其次,通过CSDN的互动交流功能,学生和教师可以加强沟通交流,共同探讨和学习云计算的最新研究成果和应用案例。此外,通过在CSDN上发表文章,学校和教师可以提升云计算专业的学术影响力和行业知名度。 总之,山东大学云计算csdn的建立为学生、教师和学校提供了一个交流和展示的平台,促进了云计算专业的发展和合作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值