用于访问Windows 7的代理设置的Python模块?

时间:2011-08-04 03:14:02

标签: python windows proxy

我是Python新手,想编写一个脚本来根据我连接的网络更改Windows代理设置。我可以使用任何现有的python模块吗?感谢您的帮助。

谢谢, Sethu

3 个答案:

答案 0 :(得分:3)

我会使用winreg并直接从the registry查询设置。

 [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

答案 1 :(得分:0)

在发送请求之前,无法在Windows中(手动或在程序中)为应用程序设置HTTP_PROXY环境变量吗?这应该注意您通过urllib2发送的任何请求都通过代理服务器。

答案 2 :(得分:0)

我也有类似的问题。目前,我只使用os模块并使用Windows reg命令从注册表中获取代理设置。希望这会有所帮助。

>>> import os
>>> os.system('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | findstr "ProxyServer AutoConfigURL"')
    ProxyServer    REG_SZ    http=127.0.0.1:8080;https=127.0.0.1:8080
    AutoConfigURL    REG_SZ    http://proxy/wpad.dat
>>>