python自动化--周期性重启wifi

2020-01-04  本文已影响0人  神之试炼者

背景:

周末想用迅雷下点电影游戏娱乐一下. 结果发现网速达到2M/s的时候wifi提示"无法连接互联网",重启后又好了....

用的是移动的58元套餐送的宽带. 显然他们对下载做了限制

没办法, 我得用python写个脚本, 周期的检查wifi网速. 当网速低的时候自动重启下wifi

思路:

  1. 先找python怎么判断网速
  2. 再找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 就好了

上一篇 下一篇

猜你喜欢

热点阅读