La
Windows almacena su sistema de amplia representación en el registro, mira en el la HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
. Puede usar el módulo _winreg de Python para cambiarlo (o simplemente winreg si usa Python 3). Aquí es un ejemplo de código
import _winreg as winreg
INTERNET_SETTINGS = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
r'Software\Microsoft\Windows\CurrentVersion\Internet Settings',
0, winreg.KEY_ALL_ACCESS)
def set_key(name, value):
_, reg_type = winreg.QueryValueEx(INTERNET_SETTINGS, name)
winreg.SetValueEx(INTERNET_SETTINGS, name, 0, reg_type, value)
set_key('ProxyEnable', 1)
set_key('ProxyOverride', u'*.local;<local>') # Bypass the proxy for localhost
set_key('ProxyServer', u'X.X.X.X:8080')
para desactivarlo simplemente puede que tenga que configurar clave ProxyEnable a 0:
set_key('ProxyEnable', 0)
Después de la secuencia de comandos ejecuta los navegadores todavía tendrán la edad de proxy almacenado en memoria, por lo que debe reiniciarlos para que puedan volver a leer la nueva configuración de proxy del registro. Esto me pareció muy molesto, así que convertí this snippet a Python.
import ctypes
INTERNET_OPTION_REFRESH = 37
INTERNET_OPTION_SETTINGS_CHANGED = 39
internet_set_option = ctypes.windll.Wininet.InternetSetOptionW
internet_set_option(0, self.INTERNET_OPTION_REFRESH, 0, 0)
internet_set_option(0, self.INTERNET_OPTION_SETTINGS_CHANGED, 0, 0)
Esto actualiza la configuración de Windows por lo que todo lo que tiene que hacer es presionar F5 en su navegador con el fin de que agarrar la nueva configuración de proxy.
He escrito un pequeño script para cambiar mi representante encendido o apagado, la fuente en el Bitbucket: https://bitbucket.org/canassa/switch-proxy
Esto debería funcionar con cualquier navegador que utiliza el proxy de todo el sistema de Windows (por ejemplo: Cromo, ES DECIR). Algunos navegadores como Firefox usan una configuración interna de proxy. Si desea cambiar esto, tendrá que averiguar dónde almacenan su configuración y escribir el código para cambiarla.
Discusión sobre la configuración del proxy de lectura * * aquí que usted puede estar interesado en: http://old.nabble.com/using-windows-wide-proxy-settings-td20822378.html No estoy seguro de que Sin embargo, cambiaría automáticamente la configuración proxy de los usuarios (a menos que sea un atajo de configuración) Además, está http://stackoverflow.com/questions/1201771/how-to-set-proxy-with -python – shambulator
Sí, los había visto. Estoy buscando algún código de ejemplo o algo. Gracias sin embargo. –
¿Podría la extensión pythonwin ser capaz de ayudar con esto? –