2010-01-04 13 views
9

Tengo una pregunta sobre el soporte proxy de python mechanize. Estoy haciendo un script de cliente web y me gustaría insertar la función de soporte de proxy en mi script.Python's mechanize proxy support

Por ejemplo, si tengo:

params = urllib.urlencode({'id':id, 'passwd':pw}) 
rq = mechanize.Request('http://www.example.com', params) 
rs = mechanize.urlopen(rq) 

¿Cómo puedo añadir soporte de proxy en mi guión mecanizar? Cada vez que abro este sitio web www.example.com, me gustaría que pase por el proxy.

Respuesta

9

Se utilizan mechanize.Request.set_proxy (host, tipo) (por lo menos a partir del 0.1.11)

asumiendo un proxy HTTP corriendo en localhost: 8888

req = mechanize.Request("http://www.google.com") 
req.set_proxy("localhost:8888","http") 
mechanize.urlopen(req) 

En caso de trabajar .

29

No estoy seguro de si esa ayuda o no, pero puede establecer la configuración del proxy en mechanize proxy browser.

br = Browser() 
# Explicitly configure proxies (Browser will attempt to set good defaults). 
# Note the userinfo ("joe:[email protected]") and port number (":3128") are optional. 
br.set_proxies({"http": "joe:[email protected]:3128", 
       "ftp": "proxy.example.com", 
       }) 
# Add HTTP Basic/Digest auth username and password for HTTP proxy access. 
# (equivalent to using "joe:[email protected]" form above) 
br.add_proxy_password("joe", "password") 
+0

Hola, gracias por su respuesta, pero ese es el módulo mecanize.browser, que es diferente de lo que busco método, estoy buscando el método mecanize .urlopen gracias – paul

+0

br.add_proxy_password() ya no funciona. –