[pyar] Fwd: Solventar consulta a site HTTPS

José de Jesus Marquez Rangel ing.jdj en gmail.com
Vie Feb 19 16:06:50 ART 2016


*Solucionado.*

Ariel estoy seguro que la librería *urllib2* es para python2, la librería
homologa en python 3 es *urllib.request*.

*Documentación:*
http://stackoverflow.com/questions/2792650/python3-error-import-error-no-module-name-urllib
.

Gracias ya que el código que presento a continuación lo ejecute en
python2.7 y funciono perfectamente con proxy.import urllib2

# Create the Request.
request = urllib2.Request('https://www.python.org')
request.add_header('CONNECT','x.x.x.x:yyyy HTTP/1.0\r\n')
request.add_header('Proxy-authorization', 'Basic xxxxxxxxxxxxxxxxxxxx')
response = urllib2.urlopen(request)
print response.read()
*Nota:* Al código que se presenta lo homologue a sintasis python 3 con el
programa 2to3.py. Con la homologación ejecutada se evidencia que el error
es en el método request.add('').

Para solvetar el error se debe declarar la cadena como *raw string* en el
método ante mencionado.
Se anexa el código final en la versión python3.4 con la solución.
import urllib.request, urllib.error, urllib.parse

request = urllib.request.Request('https://www.python.org')
request.add_header(*r'**CONNECT*',*r'**x.x.x.x:yyyy HTTP/1.0\r\n*')
request.add_header(*r'**Proxy-authorization*', *r'**Basic
xxxxxxxxxxxxxxxxxxxx*')
response = urllib.request.urlopen(request)
print(response.read())

-----------------------------------------------------------------------------------------------------

Gracias Juan.

Intente  de esta manera en windows 7 y funciono perfectamente.
Esto me ayuda a validar la conexiones con proxy hacia el protocolo https.
curl -u user:passwd -x http://xxx.xxx.xx.xx:yy https://www.python.org

Agradecido a todos por la ayuda prestada.
Saludos Cordiales.

El 18 de febrero de 2016, 9:11, Adrian Pardini <pardo.bsso en gmail.com>
escribió:

> 2016-02-17 22:02 GMT-03:00 José de Jesus Marquez Rangel <ing.jdj en gmail.com
> >:
> > Cuando realizo el request a la página https://www.python.org/ que
> utiliza el
> > protocolo https(443) me arroja el siguiente errror:
> >
> > 0 from urllib.request import Request, urlopen
> >
> > 1 req = Request('https://www.python.org/')
> > 2 req.add_header('CONNECT','IP PROXY:PORT HTTP/1.0\r\n')
> > 3 req.add_header('Proxy-authorization', 'Basic xxxxxxxxxxxx')
> > 4 response = urlopen(req)
> > 5 print(response.readlines())
> >
> > raise HTTPError(req.full_url, code, msg, hdrs, fp)
> > urllib.error.HTTPError: HTTP Error 500: Domain Not Found
>
> Hola José, lista.
>
> Posiblemente malinterpreté algo de lo que querés lograr pero así como
> está ese bloque de código le pasa el método CONNECT al server de
> python.org y no a tu proxy.
> Lo que deberías hacer es hacer el request contra tu proxy y pasarle
> ahí algo como
>
> CONNECT www.python.org HTTP/1.1
> Host: www.python.org
>
> En https://tools.ietf.org/html/rfc2817 está explicado.
>
> Dejando eso de lado podés usar las otras soluciones que pasaron.
>
> Éxito
>
>
>
> --
> Adrian.
> http://ovejafm.com
> http://elesquinazotango.com.ar
> http://www.elarteylatecnologia.com.ar
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160219/cf4371a8/attachment.html>


Más información sobre la lista de distribución pyar