校园网总是时不时就断开,给远程操控带来了极大不便。写个程序让它自动联网吧!

1.判断网络状态

使用ping命令就可以判断网络通不通了

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

 

可以使用os或者subprocess模块

r = os.system('ping www.baidu.com')
r = subprocess.run('ping www.baidu.com',
            stdout=PIPE,
            stderr=PIPE,
            stdin=PIPE,
            shell=True)

因为os会在控制台打印信息,显得比较臃肿,所以我更偏向subprocess~

然后在死循环里面运行就可以了

from time import sleep
from subprocess import run, PIPE

cnt = 1
while True:
    r = run('ping www.baidu.com',
            stdout=PIPE,
            stderr=PIPE,
            stdin=PIPE,
            shell=True)
    if r.returncode:
        print('relogin 第{}次'.format(cnt))
        # login() 这里写login函数
        cnt += 1
    else:
        print('正常联网')
    sleep(60*30) # 每半个小时检查一次

2.联网

这里只讨论校园网,需要登陆的那种。。。。家用网络都不会出现这种自动断开的问题…………

登陆问题本质上就是一个post过程,把账号信息提交到对应网址上就行。

在浏览器端开启调试模式,登陆的同时,在网络这一栏查看一下请求信息。获取到认证网址和上传的数据。

import requests


def login():
    url = '认证网址'
    data = {
        'username': '用户名',
        'password': '密码',
        # 等等其他直接从调试模式复制的请求数据。
    }
    requests.post(url, data)

啧,甚至连请求头都不需要,比爬虫要简单多了。

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐