Error with python 3.3.2 and https

Discussion in 'Python' started by asianavatar@gmail.com, May 23, 2013.

  1. Guest

    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/')
    , May 23, 2013
    #1
    1. Advertising

  2. On Fri, May 24, 2013 at 1:48 AM, <> wrote:
    > 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/')


    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
    Chris Angelico, May 23, 2013
    #2
    1. Advertising

  3. Guest

    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.
    , May 23, 2013
    #3
  4. On Fri, May 24, 2013 at 2:12 AM, <> 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
    Chris Angelico, May 23, 2013
    #4
  5. Guest

    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. Iwas 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?
    , May 23, 2013
    #5
  6. On Fri, May 24, 2013 at 3:49 AM, <> wrote:
    >
    > 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, althoughthe ssl.py is in the lib directory. Python was installed from the officialpython page using the windows installer. Is somehow ssl disabled by default? Do I need to get a third party ssl module?


    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
    Chris Angelico, May 23, 2013
    #6
  7. Guest

    So apparently switching the http to https in the proxyHandler call did the trick. Thanks for all the help.
    , May 24, 2013
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    5
    Views:
    379
    Steve Holden
    Feb 23, 2009
  2. Replies:
    0
    Views:
    735
  3. Axel
    Replies:
    8
    Views:
    1,081
    Adrienne Boswell
    Apr 27, 2009
  4. jotto
    Replies:
    4
    Views:
    382
    jotto
    Oct 2, 2006
  5. Naveen Dhanuka
    Replies:
    1
    Views:
    277
Loading...

Share This Page