原标题:Python判断网络状态,自动重连校园网!再也不怕自动断网!
校园网总是时不时就断开,给远程操控带来了极大不便。写个程序让它自动联网吧!
1.判断网络状态
使用ping命令就可以判断网络通不通了
可以使用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)
啧,甚至连请求头都不需要,比爬虫要简单多了。返回搜狐,查看更多
责任编辑: