python 自动重连wifi windows的方法

yipeiwu_com5年前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()

以上这篇python 自动重连wifi windows的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中内置数据类型list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set。这里对他们进行一个简明的总结...

替换python字典中的key值方法

比如有一个 a = {‘a': 1} 希望变为 a = {‘b' :1} 即:在保留value不变的情况下,替换key值 目前能想到的实现方案是 a[‘b'] = a.p...

python交互式图形编程实例(一)

本文实例为大家分享了python交互式图形编程的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python3# -*- coding: utf-8 -*- #温...

基于YUV 数据格式详解及python实现方式

基于YUV 数据格式详解及python实现方式

YUV 数据格式概览 YUV 的原理是把亮度与色度分离,使用 Y、U、V 分别表示亮度,以及蓝色通道与亮度的差值和红色通道与亮度的差值。其中 Y 信号分量除了表示亮度 (luma) 信号...

Python绘制频率分布直方图的示例

Python绘制频率分布直方图的示例

项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为...