切换网络和代理
2015-12-15 11:01
543 查看
#coding=GB2312 import os import sys import subprocess import _winreg #import psutil LOCAL_CONNECT_NAME = '本地连接' WIFI_CONNECT_NAME = '无线网络连接' INTERNET_SETTING_REG = r'Software\Microsoft\Windows\CurrentVersion\Internet Settings' PROXY_ENABLE_NAME = 'ProxyEnable' def setEnable(connName, enable=True): str_enable = '' if enable: str_enable = 'enable' else: str_enable = 'disable' cmd='netsh int set int name=%s admin=%s' %\ ('"'+connName+'"',\ str_enable) print cmd ret =subprocess.call(cmd, shell=True) #print 'ret=',ret if ret != 0: print '网络连接设置失败' else: print '网络连接设置成功' def setIEProxyEnable(val= 1): try: #OpenKey默认以只读的权限打开,由于没有设置_winreg.KEY_ALL_ACCESS #导致后面的setValueEx挂掉,出现WindowsError [5] #要特别注意打开权限 key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,INTERNET_SETTING_REG,0, _winreg.KEY_ALL_ACCESS) v, t = _winreg.QueryValueEx(key, PROXY_ENABLE_NAME) if v != val: _winreg.SetValueEx(key, PROXY_ENABLE_NAME, 0, t, val) except Exception,e: print '设置IE代理失败:' , e.message sys.exit(0) print '设置代理成功' if __name__ == '__main__': reload(sys) sys.setdefaultencoding('GB2312') setIEProxyEnable(0) if len(sys.argv) != 2: print 'switch_net.py N\r\n0:local 1:wifi.' sys.exit(0) if int(sys.argv[1]) == 0: setEnable(LOCAL_CONNECT_NAME) setEnable(WIFI_CONNECT_NAME,False) setIEProxyEnable() else: setEnable(LOCAL_CONNECT_NAME,False) setEnable(WIFI_CONNECT_NAME) setIEProxyEnable(0)
相关文章推荐
- 完美解决:此地址使用了一个通常用于网络浏览以外目的的端口.出于安全原因,Firefox 取消了该请求
- HTTP 代理原理及实现(二)
- 解析虚拟VMware三种网络模式
- nfs网络文件共享
- 把OkHttp的网络获取方法写在公共类里
- 神经网络与支持向量机的区别
- 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常
- CNN卷积神经网络新想法
- 高性能Java网络框架 MINA
- 用wireshark抓包分析tcp
- wireshark抓包结果很多[TCP Retransmission]怎么办?
- TCP三此握手与四次挥手
- vagrant控制虚拟机的网络配置
- TCP协议三次握手连接四次握手断开和DOS攻击
- 太原网络营销师郭文军揭秘2016营销如何做?
- 转】深度学习--深度信念网络(Deep Belief Network)
- Linux tcpdump工具网络抓包命令详解
- 减少HTTP请求之合并图片详解(大型网站优化技术)
- 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
- <<计算机网络教程>>复习提要