zoukankan      html  css  js  c++  java
  • Python 实现windows下自动切换代理IP

    https://blog.csdn.net/fengleitao/article/details/81913538

    简介:利用python实现windows下“打开代理”和“关闭代理”切换

    原理:通过修改注册表 "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings" 下的子项,能够设置IE代理,然后通过代理可以上网或做其它事情。基于该原理通过python脚本调用winreg模块来访问和操作注册表,达到自动切换代理的目的

    import winreg

    #########################################################################
    KEY_ProxyEnable = "ProxyEnable"
    KEY_ProxyServer = "ProxyServer"
    KEY_ProxyOverride = "ProxyOverride"
    KEY_XPATH = "SoftwareMicrosoftWindowsCurrentVersionInternet Settings"
    #########################################################################

    '''
    设置代理
    enable: 0关闭,1开启
    proxyIp: 代理服务器ip及端口,如 "192.168.70.127:808"
    IgnoreIp:忽略代理的ip或网址,如 "172.*;192.*;"
    '''
    def SetProxy(enable, proxyIp, IgnoreIp):
    hKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, KEY_XPATH, 0, winreg.KEY_WRITE)
    winreg.SetValueEx(hKey, KEY_ProxyEnable, 0, winreg.REG_DWORD, enable)
    winreg.SetValueEx(hKey, KEY_ProxyServer, 0, winreg.REG_SZ, proxyIp)
    winreg.SetValueEx(hKey, KEY_ProxyOverride, 0, winreg.REG_SZ, IgnoreIp)
    winreg.CloseKey(hKey)

    # 获取当前代理状态
    def GetProxyStatus():
    hKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, KEY_XPATH, 0, winreg.KEY_READ)
    retVal = winreg.QueryValueEx(hKey, KEY_ProxyEnable)
    winreg.CloseKey(hKey)
    return retVal[0]==1

    def main():
    if GetProxyStatus():
    SetProxy(0, "", "")
    print("关闭代理")
    else:
    SetProxy(1, "192.168.70.127:808", "172.*;192.*;")
    print("打开代理")

    if __name__ == '__main__':
    main()

    ————————————————
    版权声明:本文为CSDN博主「fengleitao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fengleitao/article/details/81913538

  • 相关阅读:
    Arthas 使用的各类方式
    1小时打造HaaS版小小蛮驴智能车
    Serverless 场景下 Pod 创建效率优化
    .net程序员的盲点(八):泛型
    altas(ajax)控件(五):日历控件Calendar
    altas(ajax)控件(六):CascadingDropDown 联动选择的下拉框
    altas(ajax)控件(二):悬浮面板控件AlwaysVisibleControl
    altas(ajax)控件(八):ConfirmButton确认对话框
    altas(ajax)控件(九):可拖动面板DragPanel
    altas(ajax)控件(三):动画制作控件AnimationExtender
  • 原文地址:https://www.cnblogs.com/auschwitzer/p/15410273.html
Copyright © 2011-2022 走看看