使用哪个Python模块访问Windows 7的代理设置?

3 投票
2 回答
1733 浏览
提问于 2025-04-16 22:51

我刚开始学习Python,想写一个脚本,根据我连接的网络来更改Windows的代理设置。有没有现成的Python模块可以使用呢?谢谢大家的帮助。

谢谢,
Sethu

2 个回答

0

你能不能在Windows系统中设置HTTP_PROXY这个环境变量呢?不管是手动设置还是在你的程序里设置,在发送请求之前都可以。这样一来,你通过urllib2发送的任何请求都会经过这个代理服务器。

3

我会使用winreg这个库,直接从注册表中查询设置。

 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
 Settings] "MigrateProxy"=dword:00000001 
 "ProxyEnable"=dword:00000001
 "ProxyHttp1.1"=dword:00000000
 "ProxyServer"="http://ProxyServername:80" 
 "ProxyOverride"="<local>"

比如,可以这样做:

import _winreg

def getProxy():
    proxy = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings")
    server, type = _winreg.QueryValueEx(proxy, "ProxyServer")
    enabled, type = _winreg.QueryValueEx(proxy, "ProxyEnable")
    if enabled:
        return server
    return None

撰写回答