python 查看当前代理
import winreg
def get_ie_proxy_settings():
# 注册表路径
reg_path = r"Software\Microsoft\Windows\CurrentVersion\Internet Settings"
try:
# 打开注册表项
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, reg_path) as key:
# 读取 ProxyEnable 值
proxy_enable, _ = winreg.QueryValueEx(key, "ProxyEnable")
# 读取 ProxyServer 值
proxy_server, _ = winreg.QueryValueEx(key, "ProxyServer")
# 输出当前代理设置
if proxy_enable:
print("代理已启用。")
print(f"代理服务器: {proxy_server}")
else:
print("代理已禁用。")
except FileNotFoundError:
print("无法找到指定的注册表项。")
except Exception as e:
print(f"读取代理设置时发生错误: {e}")
# 执行获取代理设置的函数
get_ie_proxy_settings()
设置代理
import winreg as reg
def set_ie_proxy(proxy_server: str, enable: bool):
"""
设置 Internet Explorer 的代理。
:param proxy_server: 代理服务器地址和端口(例如 'proxy.example.com:8080')。
:param enable: 布尔值,True 表示启用代理,False 表示禁用代理。
"""
# 注册表路径
reg_path = r'Software\Microsoft\Windows\CurrentVersion\Internet Settings'
# 打开注册表项
with reg.OpenKey(reg.HKEY_CURRENT_USER, reg_path, 0, reg.KEY_WRITE) as key:
if enable:
# 设置代理服务器地址
reg.SetValueEx(key, 'ProxyServer', 0, reg.REG_SZ, proxy_server)
# 启用代理
reg.SetValueEx(key, 'ProxyEnable', 0, reg.REG_DWORD, 1)
else:
# 禁用代理
reg.SetValueEx(key, 'ProxyEnable', 0, reg.REG_DWORD, 0)
# 清除代理服务器设置
reg.DeleteValue(key, 'ProxyServer')
# 使用示例
proxy = '10.10.10.10:3128'
enable_proxy = True # 设置为 False 则禁用代理
set_ie_proxy(proxy, enable_proxy)
批处理设置代理
@echo off
setlocal
rem 设置代理服务器地址和端口
set proxy_server=10.6.5.5
rem 启用代理
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d %proxy_server% /f
echo proxy is enable-- %proxy_server%
rem 如需禁用代理,请执行以下命令:
rem reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
rem echo 代理已禁用
endlocal