jueves, febrero 05, 2009

urllib2 a través de un proxy NTLM

Tenía pendiente desde hacía tiempo probar esto...
Pues bien, al menos hasta la versión que yo he usado (python 2.5) no es posible usar urllib2 con un proxy NTLM.

Ante esto tenemos dos opciones:
Lo deseable es que urllib2 al igual que tiene un ProxyBasicAuthHandler, tuviera uno para el protocolo NTLM.

Tanto para un caso como para el otro, tendremos que hacer que urllib2 no use el proxy por defecto. Un ejemplo:


proxy_support = urllib2.ProxyHandler({'http':'http://localhost:5555'})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)

[*] parece una chorrada esto que he dicho aquí, pero no lo es tanto. Normalmente en el trabajo los sysadmin no te darán la opción, pero... muchos de vosotros teneis maquinas de trabajo a las cuales si teneis acceso a través de SSH, y desde las cuales si teneis salida a internet. Pues bien... lo que se puede hacer es montar un tunel SSH y redirigir el trafico HTTP a través del tunel. Es decir... estais corriendo un proxy en local que redirige el tráfico a otra maquina.
Esto tiene la ventaja adicional de que el tráfico va encriptado.

No hay comentarios: