Python判断网络状态,自动重连校园网!再也不怕自动断网!

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

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)

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

 

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值