cliente web usando proxy con autentificacion

Carlos Galisteo cgalisteo en k-rolus.net
Vie Mayo 12 14:56:47 CEST 2006


Hola Jordi.
 
 Yo tuve el mismo problema, y se soluciono exportando la variable de sistema http_proxy con los datos apropiados (export http_proxy=http://user:password@proxy:puerto). Asi puededs utilizar urllib2 como si no hubiera proxy.

 Esto funiona en ambientes Unix, para otros no se si podra hacer algo parecido.

On Fri, 12 May 2006 14:41:15 +0200, Jordi Funollet <jordi.f en ati.es> wrote:
> Buenas,
> 
> Estoy intentando acceder a webs a través de un proxy que requiere 
> autentificación. Con un cliente Firefox funciona sin problemas, pero al 
> intentar crear un cliente en Python se niega a reconocerme. 
> 
> 
> #################################################################
> import urllib2
> from sys import exit
> 
> 
> proxy_vars = {'host': 'mi.proxy.net',
>     'port': '3128',
>     'user': 'miusuario',
>     'password': 'miclave',
> }
> url_test='http://www.google.com'
> 
> 
> def use_proxy (url_test, proxy_vars):
>     
>     password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
>     password_mgr.add_password (None, proxy_vars['host'],
> proxy_vars['user'], 
> proxy_vars['password'])
>     auth_handler = urllib2.ProxyBasicAuthHandler(password_mgr)
> 
>     proxy_url = 'http://%(host)s:%(port)s/' % proxy_vars
>     proxy_handler = urllib2.ProxyHandler( {'http': proxy_url} )
> 
>     opener = urllib2.build_opener(proxy_handler, auth_handler)
>     urllib2.install_opener(opener)
> 
>     try:
>         page = urllib2.urlopen(url_test)
>         print f.info()
>     except urllib2.HTTPError, msg_err:
>         print "#### HTTPError.info()"
>         print msg_err.info()
>         print "#### HTTPError.geturl()"
>         print msg_err.geturl()
> 
> 
> if __name__ == '__main__':
>     use_proxy(url_test, proxy_vars)
> #################################################################
> 
> 
> 
> 
> Y esto es lo único que me devuelve, el muy desagradecido. ;-)
> 
> #################################################################
> #### HTTPError.info()
> Server: squid/2.5.STABLE9
> Mime-Version: 1.0
> Date: Fri, 12 May 2006 12:29:33 GMT
> Content-Type: text/html
> Content-Length: 1314
> Expires: Fri, 12 May 2006 12:29:33 GMT
> X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
> Proxy-Authenticate: Basic realm="mi.proxy.net proxy "
> X-Cache: MISS from mi.proxy.net
> X-Cache-Lookup: NONE from mi.proxy.net:3128
> Proxy-Connection: close
> 
> #### HTTPError.geturl()
> http://www.google.com
> #################################################################
> 
> 
> 
> -- 
> ##############################
> ### Jordi Funollet
> ### http://www.terraquis.net
> 
> 
-- 
--- 
Carlos Galisteo  
Jabber_Id::cgalisteo en jabber.org 
PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg 
Key_Fingerprint::F888 6FBA 9145 B5A2 C187  66D6 5B8C 027A 69AD BE65 
--- 

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es