28.06.2017 Views

Python para todos

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Python</strong> <strong>para</strong> <strong>todos</strong><br />

HTTPBasicAuthHandler:<br />

aut_h = urllib2.HTTPBasicAuthHandler()<br />

aut_h.add_password(“realm”, “host”, “usuario”, “password”)<br />

opener = urllib2.build_opener(aut_h)<br />

urllib2.install_opener(opener)<br />

f = urllib2.urlopen(“http://www.python.org”)<br />

Si quisiéramos especificar un proxy en el código tendríamos que<br />

utilizar un opener que contuviera el manejador ProxyHandler. El<br />

manejador por defecto incluye una instacia de ProxyHandler construido<br />

llamando al inicializador sin parámetros, con lo que se lee la lista<br />

de proxies a utilizar de la variable de entorno adecuada. Sin embargo<br />

también podemos construir un ProxyHandler pasando como parámetro<br />

al inicializador un diccionario cuyas claves son los protocolos y los<br />

valores, la URL del proxy a utilizar <strong>para</strong> dicho protocolo.<br />

proxy_h = urllib2.ProxyHandler({“http” : “http://miproxy.<br />

net:123”})<br />

opener = urllib2.build_opener(proxy_h)<br />

urllib2.install_opener(opener)<br />

f = urllib2.urlopen(“http://www.python.org”)<br />

Para que se guarden las cookies que manda HTTP utilizamos el manejador<br />

HTTPCookieProcessor.<br />

cookie_h = urllib2.HTTPCookieProcessor()<br />

opener = urllib2.build_opener(cookie_h)<br />

urllib2.install_opener(opener)<br />

f = urllib2.urlopen(“http://www.python.org”)<br />

Si queremos acceder a estas cookies o poder mandar nuestras propias<br />

cookies, podemos pasarle como parámetro al inicializador de HTTPCookieProcessor<br />

un objeto de tipo CookieJar del módulo cookielib.<br />

Para leer las cookies mandadas basta crear un objeto iterable a partir<br />

del CookieJar (también podríamos buscar las cabeceras correspondientes,<br />

pero este sistema es más claro y sencillo):<br />

100

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!