Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Error with python 3.3.2 and https

43 views
Skip to first unread message

asian...@gmail.com

unread,
May 23, 2013, 11:48:59 AM5/23/13
to
I am trying to write a program that requires me hitting a https web link. However, I can't seem to get it to work. The program works fine when dealing with http sites, however, when I try it with a https site I get

socket.gaierror: [Errno 11001] getaddrinfo failed

It seems like it has something to do with the ssl not working, however, I do have the ssl.py in the python library and I have no problem importing it.

My code is below. Any help would be greatly appreciated.

import urllib.request
auth = urllib.request.HTTPSHandler()
proxy = urllib.request.ProxyHandler({'http':'my proxy'})
opener = urllib.request.build_opener(proxy, auth)
f = opener.open('http://www.google.ca/')

Chris Angelico

unread,
May 23, 2013, 11:56:11 AM5/23/13
to pytho...@python.org
Check the name of your proxy; maybe you can't resolve it. Can you
identify your proxy by IP address?

By omitting the proxy part, I can quite happily make a direct request
using code like yours.

ChrisA

asian...@gmail.com

unread,
May 23, 2013, 12:12:44 PM5/23/13
to
I only have the http of the proxy. I guess I could find out the ip of it. However, even if I use the http proxy address, why would it work for a http site and not a https site if its the proxy that can't resolve.

Chris Angelico

unread,
May 23, 2013, 12:18:04 PM5/23/13
to pytho...@python.org
On Fri, May 24, 2013 at 2:12 AM, <asian...@gmail.com> wrote:
> I only have the http of the proxy. I guess I could find out the ip of it. However, even if I use the http proxy address, why would it work for a http site and not a https site if its the proxy that can't resolve.

Can you post working code for HTTP and nonworking for HTTPS? There was
no SSL in the code you posted. Or are you saying it's really just that
you change the URL and it stops working? If so, I don't think we can
test it without having your proxy... you may want to talk to whoever
controls the proxy.

ChrisA

asian...@gmail.com

unread,
May 23, 2013, 1:49:55 PM5/23/13
to

Yeah that is the case. Once I change the f = opener.open('website') line to a link that has a https I get that socket error. Nothing else changes. I was reading online and came across this site which shows you how if the version of python installed supports ssl.

http://morlockhq.blogspot.ca/2008/05/python-tip-checking-to-see-if-your.html

When I followed the instructions I got that it wasn't supported, although the ssl.py is in the lib directory. Python was installed from the official python page using the windows installer. Is somehow ssl disabled by default? Do I need to get a third party ssl module?

Chris Angelico

unread,
May 23, 2013, 6:23:55 PM5/23/13
to pytho...@python.org
Hrm. Unfortunately those instructions don't work for Python 3... or at
least, if they do, then both of my handy installations (one Windows,
one Linux) don't have SSL. However, I *can* do 'import ssl' and
'import _ssl', the latter of which is what Lib/socket.py checks for.
In Python 3.3's Lib/socket.py there's no mention of ssl anywhere, so
I'd be inclined to look elsewhere for support checks.

ChrisA

asian...@gmail.com

unread,
May 24, 2013, 2:08:13 PM5/24/13
to
So apparently switching the http to https in the proxyHandler call did the trick. Thanks for all the help.
0 new messages