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