通过Python在Windows中设置代理

2 投票
1 回答
1726 浏览
提问于 2025-04-19 06:21

在Windows 7中设置代理的方法是:

首先,使用图形界面,你可以这样操作:

开始 → 控制面板 → 网络和 Internet → Internet 选项 → 连接 → 局域网设置

然后你可以:

1) 选择自动配置脚本

2) 输入一个IP地址和端口号

有没有命令可以通过命令行来完成这些操作(这样我就可以通过子进程使用它)?

或者在Python中有没有相关的模块?

在Python 2.7中有一个叫做_winrgr的模块,但第二个问题可以用那个解决。第一个问题呢?

我尝试使用netsh winhttp set proxy命令,但代理设置没有变化,尽管命令行显示代理已经更改。

1 个回答

0

我通过 _winreg 解决了第一部分的问题。

key=registry.OpenKey(registry.HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections",0,registry.KEY_ALL_ACCESS)
(value, regtype) = registry.QueryValueEx(key, "DefaultConnectionSettings")
if regtype == registry.REG_BINARY:
     value = value[:8] + chr(0x03) + value[9:]
registry.SetValueEx(key, "DefaultConnectionSettings", None, regtype, value)

值为 3 表示使用手动设置。
值为 9 表示使用自动设置。
值为 1 表示没有启用。

撰写回答