Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Error with python 3.3.2 and https

Reply
Thread Tools

Error with python 3.3.2 and https

 
 
asianavatar@gmail.com
Guest
Posts: n/a
 
      05-23-2013
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/')
 
Reply With Quote
 
 
 
 
Chris Angelico
Guest
Posts: n/a
 
      05-23-2013
On Fri, May 24, 2013 at 1:48 AM, <(E-Mail Removed)> 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
 
Reply With Quote
 
 
 
 
asianavatar@gmail.com
Guest
Posts: n/a
 
      05-23-2013
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.
 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      05-23-2013
On Fri, May 24, 2013 at 2:12 AM, <(E-Mail Removed)> 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
 
Reply With Quote
 
asianavatar@gmail.com
Guest
Posts: n/a
 
      05-23-2013

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...e-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?

 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      05-23-2013
On Fri, May 24, 2013 at 3:49 AM, <(E-Mail Removed)> 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...e-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
 
Reply With Quote
 
asianavatar@gmail.com
Guest
Posts: n/a
 
      05-24-2013
So apparently switching the http to https in the proxyHandler call did the trick. Thanks for all the help.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Illegal seek error with seek() and os.lseek() krishna2prasad@gmail.com Python 3 05-14-2013 08:12 PM
Getting an error with lambda and async - help interpret, please Victor Bazarov C++ 9 04-22-2013 03:24 PM
Help with printing a bit pattern with printf and %x matt.jaffe@gmail.com C Programming 9 04-19-2013 12:14 PM
server side redirect https => https NOT working Axel ASP General 8 04-27-2009 02:02 AM
open-uri and HTTPS, or net/https with a redirect jotto Ruby 4 10-02-2006 07:26 AM



Advertisments