python 自动重连wifi windows的方法
时间:2022-11-05 12:22:23|栏目:Python代码|点击: 次
如下所示:
# coding=utf-8 import urllib2 import urllib from cookielib import CookieJar import os import re import time class ConnectWeb(object): def __init__(self): self.cookiejarinmemory = CookieJar() self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookiejarinmemory)) urllib2.install_opener(self.opener) self.username = "" self.password = "" def connect_baidu(self): #检测目前是否联网 try: urllib2.urlopen("http://www.baidu.com", timeout=2) return 1 except: return 0 def login(self): #模拟上网验证 验证网页几乎都是不同的,下面附上我们学校的, form表单自己根据情况填,用chrome很容易得到post的url和表单 try: post_url = "" form = {"action": "login", "username": self.username, "password": self.password, "ac_id": 4, "user_ip": "", "nas_ip": "", "user_mac": "", "save_me": 1, "ajax": 1} fm1 = urllib.urlencode(form) page = urllib2.urlopen(post_url, fm1).read() except Exception as e: self.disconnect() time.sleep(1) self.connect_wifi() def disconnect(self): # 断开wifi os.system("netsh wlan disconnect") def wifis_nearby(self): # 查询附近wifi p = os.popen("netsh wlan show all") content = p.read().decode("GB2312", "ignore") temp = re.findall(u"(SSID.*\n.*Network type.*\n.*\u8eab\u4efd\u9a8c\u8bc1.*\n.*\u52a0\u5bc6.*\n.*BSSID.*\n)", content) result = [] for i in temp: name = re.findall(u"SSID.*:(.*)\n", i)[0].replace(" ", "") result.append(name) return result def connect_wifi(self, name=None): #连接wifi os.system("netsh wlan connect name=%s" % name) def checking(self): # 一直检测是否有断网,如果断网则重新连接 while 1: try: if not self.connect_baidu(): self.login() except: pass time.sleep(10) if __name__ == "__main__": test = ConnectWeb() test.login()