python 脚本自动切换windows代理设置

由于在公司中需要使用代理服务器才能上网,每次在家里和公司上网之前都需要先打开IE设置和取消代理,另外使用svn也需要设置代理服务器,所以想到用python写了一个脚本实现代理的切换。

#! /usr/bin/env python
#coding=utf-8
#*******************************************
#
#HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
#*******************************************
import win32api,win32con
import time,shutil,os

#通过修改注册表中的值,切换IE是否使用代理
def changeIEProxy(keyName,keyValue):
    pathInReg = 'Software\Microsoft\Windows\CurrentVersion\Internet Settings'

    key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,pathInReg,0,win32con.KEY_ALL_ACCESS)
    win32api.RegSetValueEx(key,keyName,0,win32con.REG_DWORD,keyValue)
    win32api.RegCloseKey(key)

#根据公司或家里环境,切换SVN代理
def changeSvnProxy(env):
    path = 'C:\\Users\\xiyang\\AppData\\Roaming\\Subversion\\'
    #at work
    if env:
        print "copy server-work"
        shutil.copy2(os.path.join(path,"servers-work"),os.path.join(path,"servers"))
    else: #at home
        print "copy server-home"
        shutil.copy2(os.path.join(path,"servers-home"),os.path.join(path,"servers"))
        
if __name__ == "__main__":
    pathInReg = 'Software\Microsoft\Windows\CurrentVersion\Internet Settings'
    key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,pathInReg,0,win32con.KEY_ALL_ACCESS)
    value,type = win32api.RegQueryValueEx(key,'ProxyEnable')
    #print value
    
    if value == 1:
        value = 0
        print "at home,disable proxy"
    else:
        value = 1
        print "at work,enable proxy!"
    changeSvnProxy(value)
	
    changeIEProxy('ProxyEnable',value)
    print "done"
    time.sleep(1)


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值