python自动化--周期性重启wifi
2020-01-04 本文已影响0人
神之试炼者
背景:
周末想用迅雷下点电影游戏娱乐一下. 结果发现网速达到2M/s的时候wifi提示"无法连接互联网",重启后又好了....
用的是移动的58元套餐送的宽带. 显然他们对下载做了限制
没办法, 我得用python写个脚本, 周期的检查wifi网速. 当网速低的时候自动重启下wifi
思路:
- 先找python怎么判断网速
- 再找python怎么重启wifi
脚本如下:
import os
import time
import requests
# 可以容忍的访问速度,单位:秒
connect_speed_second = 0.5
wifi_name = "我爱吃苹果"
def test():
while True:
# auto_connect("saber")
speed_ok = test_connect_baidu()
if(speed_ok):
continue
else:
restart_wifi()
time.sleep(10) #每10s检查一次
def test_connect_baidu():
try:
r = requests.get("https://www.baidu.com")
total_seconds = r.elapsed.total_seconds()
if total_seconds < connect_speed_second:
print("网速正常...")
return True
else:
print("网速变慢...")
return False
except Exception as e:
print("访问百度出错!",e)
return False
def restart_wifi():
print("重启wifi...")
cmd = "netsh wlan disconnect"
os.system(cmd)
time.sleep(3) #休眠一会,保证wifi重启完成
cmd = "netsh wlan connect name={}".format(wifi_name)
os.system(cmd)
time.sleep(3) #休眠一会,保证wifi重启完成
if __name__ == "__main__":
test()
ps: 一个小细节
pycharm控制台输出乱码
原因: 执行的是windows的cmd命令. 编码问题. 在pycharm -> settings -> Editor -> File Encodings -> Global Encoding 改为GBK 就好了