我们知道在Windows系统下,在设置里可以配置网络代理,那可不可以通过程序自动化修改呢?
答案是可以!Python语言就可以!
Python是通过winreg
标准库修改注册表达到修改Windows系统代理的目的。
直接上代码:
import winreg
"""
修改系统代理函数
:param open_or_close: 是否开启 bool
:param host: IP
:param port: 端口
:return:
"""
def system_proxy(open_or_close, host, port):
proxy = f"{host}:{port}"
root = winreg.HKEY_CURRENT_USER
proxy_path = r"Software\Microsoft\Windows\CurrentVersion\Internet Settings"
kv_Enable = [
(proxy_path, "ProxyEnable", 1, winreg.REG_DWORD),
(proxy_path, "ProxyServer", proxy, winreg.REG_SZ),
]
kv_Disable = [
(proxy_path, "ProxyEnable", 0, winreg.REG_DWORD),
# (proxy_path, "ProxyServer", proxy, winreg.REG_SZ),
]
if open_or_close:
kv = kv_Enable
else:
kv = kv_Disable
for keypath, value_name, value, value_type in kv:
hKey = winreg.CreateKey(root, keypath)
winreg.SetValueEx(hKey, value_name, 0, value_type, value)
if __name__ == '__main__':
system_proxy(True, "127.0.0.1", 1087)
第一个参数传True
表示开启代理,传False
则是关闭代理,第二三个参数为代理的IP和端口。