468,549 Members | 2,323 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,549 developers. It's quick & easy.

urllib error on urlopen

Hi,

I have been using the following code for over a year in one of my
programs:

f = urllib2.urlopen('https://www.companywebsite.com/somestring')

It worked great until the middle of the afternoon yesterday. Now I get
the following traceback:

Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
response = urllib2.urlopen(req).read().strip()
File "c:\python25\lib\urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "c:\python25\lib\urllib2.py", line 381, in open
response = self._open(req, data)
File "c:\python25\lib\urllib2.py", line 399, in _open
'_open', req)
File "c:\python25\lib\urllib2.py", line 360, in _call_chain
result = func(*args)
File "c:\python25\lib\urllib2.py", line 1115, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "c:\python25\lib\urllib2.py", line 1082, in do_open
raise URLError(err)
URLError: <urlopen error (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protocol')>
I tried my Google Fu on this error, but there's not much out there. I
tried using a proxy in Python, but that returned the same traceback.
If I copy the URL into my browser, it resolves correctly. Does anyone
have any advice on how to troubleshoot this error?

I am using Python 2.5.2 on Windows XP.

Thanks,

Mike

Sep 24 '08 #1
4 5246
On Sep 24, 11:46 am, Mike Driscoll <kyoso...@gmail.comwrote:
Hi,

I have been using the following code for over a year in one of my
programs:

f = urllib2.urlopen('https://www.companywebsite.com/somestring')

It worked great until the middle of the afternoon yesterday. Now I get
the following traceback:

Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
response = urllib2.urlopen(req).read().strip()
File "c:\python25\lib\urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "c:\python25\lib\urllib2.py", line 381, in open
response = self._open(req, data)
File "c:\python25\lib\urllib2.py", line 399, in _open
'_open', req)
File "c:\python25\lib\urllib2.py", line 360, in _call_chain
result = func(*args)
File "c:\python25\lib\urllib2.py", line 1115, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "c:\python25\lib\urllib2.py", line 1082, in do_open
raise URLError(err)
URLError: <urlopen error (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protocol')>

I tried my Google Fu on this error, but there's not much out there. I
tried using a proxy in Python, but that returned the same traceback.
If I copy the URL into my browser, it resolves correctly. Does anyone
have any advice on how to troubleshoot this error?

I am using Python 2.5.2 on Windows XP.

Thanks,

Mike
Could it just be a misconfiguration at the other end? Can you open
other https urls?
Sep 25 '08 #2
On Wed, 24 Sep 2008 08:46:56 -0700, Mike Driscoll wrote:
Hi,

I have been using the following code for over a year in one of my
programs:

f = urllib2.urlopen('https://www.companywebsite.com/somestring')

It worked great until the middle of the afternoon yesterday. Now I get
the following traceback:
....
URLError: <urlopen error (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protocol')>
Have you recently set a proxy where Python can auto-detect it? I
understand that urllib2 doesn't work well with https proxies.

If so, you can instruct urllib2 not to use a proxy-handler, but it's more
work. What I do is construct an opener without a proxyhandler:
# untested...
no_proxy_support = urllib2.ProxyHandler({})
opener = urllib2.build_opener(no_proxy_support)
f = opener.open('https://www.companywebsite.com/somestring')
If that doesn't work, you may need to build a Request object from the URL
before passing it to opener.open.

--
Steven
Sep 25 '08 #3
On Sep 24, 7:08*pm, Michael Palmer <m_palme...@yahoo.cawrote:
On Sep 24, 11:46 am, Mike Driscoll <kyoso...@gmail.comwrote:
Hi,
I have been using the following code for over a year in one of my
programs:
f = urllib2.urlopen('https://www.companywebsite.com/somestring')
It worked great until the middle of the afternoon yesterday. Now I get
the following traceback:
Traceback (most recent call last):
* File "<pyshell#13>", line 1, in <module>
* * response = urllib2.urlopen(req).read().strip()
* File "c:\python25\lib\urllib2.py", line 124, in urlopen
* * return _opener.open(url, data)
* File "c:\python25\lib\urllib2.py", line 381, in open
* * response = self._open(req, data)
* File "c:\python25\lib\urllib2.py", line 399, in _open
* * '_open', req)
* File "c:\python25\lib\urllib2.py", line 360, in _call_chain
* * result = func(*args)
* File "c:\python25\lib\urllib2.py", line 1115, in https_open
* * return self.do_open(httplib.HTTPSConnection, req)
* File "c:\python25\lib\urllib2.py", line 1082, in do_open
* * raise URLError(err)
URLError: <urlopen error (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protocol')>
I tried my Google Fu on this error, but there's not much out there. I
tried using a proxy in Python, but that returned the same traceback.
If I copy the URL into my browser, it resolves correctly. Does anyone
have any advice on how to troubleshoot this error?
I am using Python 2.5.2 on Windows XP.
Thanks,
Mike

Could it just be a misconfiguration at the other end? Can you open
other https urls?
This is really weird. Now it works this morning. I've spoken with our
webmaster/system admin and he said he didn't change anything on his
end. We're both befuddled. Sorry for the noise.

Mike
Sep 25 '08 #4
On Sep 24, 9:36*pm, Steven D'Aprano <st...@REMOVE-THIS-
cybersource.com.auwrote:
On Wed, 24 Sep 2008 08:46:56 -0700, Mike Driscoll wrote:
Hi,
I have been using the following code for over a year in one of my
programs:
f = urllib2.urlopen('https://www.companywebsite.com/somestring')
It worked great until the middle of the afternoon yesterday. Now I get
the following traceback:
...
URLError: <urlopen error (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protocol')>

Have you recently set a proxy where Python can auto-detect it? I
understand that urllib2 doesn't work well with https proxies.

If so, you can instruct urllib2 not to use a proxy-handler, but it's more
work. What I do is construct an opener without a proxyhandler:

# untested...
no_proxy_support = urllib2.ProxyHandler({})
opener = urllib2.build_opener(no_proxy_support)
f = opener.open('https://www.companywebsite.com/somestring')

If that doesn't work, you may need to build a Request object from the URL
before passing it to opener.open.

--
Steven
As I mentioned to Mr. Palmer, the error has mysteriously gone away
this morning. I'll keep your advice handy though, in case it happens
again.

Thanks,

Mike
Sep 25 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

11 posts views Thread by Pater Maximus | last post: by
reply views Thread by Pieter Edelman | last post: by
1 post views Thread by Timothy Wu | last post: by
11 posts views Thread by Johnny Lee | last post: by
4 posts views Thread by william | last post: by
6 posts views Thread by JabaPyth | last post: by
reply views Thread by Ali.Sabil | last post: by
4 posts views Thread by kgrafals | last post: by
2 posts views Thread by Iain Dalton | last post: by
reply views Thread by NPC403 | last post: by
1 post views Thread by UniDue | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.