如下所示:

# coding=utf-8
import urllib2
import urllib
from cookielib import CookieJar
import os
import re
import time


class ConnectWeb( ):
 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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

收藏 打印