1. 程式人生 > 其它 >Python 實現windows下自動切換代理IP

Python 實現windows下自動切換代理IP

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

簡介:利用python實現windows下“開啟代理”和“關閉代理”切換

原理:通過修改登錄檔 "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 下的子項,能夠設定IE代理,然後通過代理可以上網或做其它事情。基於該原理通過python指令碼呼叫winreg模組來訪問和操作登錄檔,達到自動切換代理的目的

import winreg

#########################################################################
KEY_ProxyEnable = "ProxyEnable"
KEY_ProxyServer = "ProxyServer"
KEY_ProxyOverride = "ProxyOverride"
KEY_XPATH = "Software\Microsoft\Windows\CurrentVersion\Internet 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