通过Python在Windows中设置代理
在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 表示没有启用。