[Bug 1017976] Re: Python Urllib2 Unable to Open HTTPS URL

Cerin 1017976 at bugs.launchpad.net
Mon Sep 23 14:52:08 UTC 2013


** Changed in: python-defaults (Ubuntu)
       Status: Invalid => New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1017976

Title:
  Python Urllib2 Unable to Open HTTPS URL

Status in “openssl” package in Ubuntu:
  New
Status in “python-defaults” package in Ubuntu:
  New

Bug description:
  The following code to retrieve a valid HTTPS URL fails under both
  Python 2.7 and Python2.6 (install from a PPA):

  import urllib2
  urllib2.urlopen('https://www1.pplweb.com').read()

  Traceback (most recent call last):
    File "test.py", line 2, in <module>
      urllib2.urlopen('https://www1.pplweb.com').read()
    File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
      return _opener.open(url, data, timeout)
    File "/usr/lib/python2.7/urllib2.py", line 400, in open
      response = self._open(req, data)
    File "/usr/lib/python2.7/urllib2.py", line 418, in _open
      '_open', req)
    File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
      result = func(*args)
    File "/usr/lib/python2.7/urllib2.py", line 1215, in https_open
      return self.do_open(httplib.HTTPSConnection, req)
    File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
      raise URLError(err)
  urllib2.URLError: <urlopen error [Errno 1] _ssl.c:504: error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)>

  The same basic code also fails with Python 3.2:

  from urllib.request import urlopen
  urlopen('https://www1.pplweb.com').read()

  Traceback (most recent call last):
    File "/usr/lib/python3.2/urllib/request.py", line 1135, in do_open
      h.request(req.get_method(), req.selector, req.data, headers)
    File "/usr/lib/python3.2/http/client.py", line 967, in request
      self._send_request(method, url, body, headers)
    File "/usr/lib/python3.2/http/client.py", line 1005, in _send_request
      self.endheaders(body)
    File "/usr/lib/python3.2/http/client.py", line 963, in endheaders
      self._send_output(message_body)
    File "/usr/lib/python3.2/http/client.py", line 808, in _send_output
      self.send(msg)
    File "/usr/lib/python3.2/http/client.py", line 746, in send
      self.connect()
    File "/usr/lib/python3.2/http/client.py", line 1108, in connect
      server_hostname=server_hostname)
    File "/usr/lib/python3.2/ssl.py", line 189, in wrap_socket
      _context=self)
    File "/usr/lib/python3.2/ssl.py", line 276, in __init__
      raise x
    File "/usr/lib/python3.2/ssl.py", line 272, in __init__
      self.do_handshake()
    File "/usr/lib/python3.2/ssl.py", line 451, in do_handshake
      self._sslobj.do_handshake()
  ssl.SSLError: [Errno 1] _ssl.c:392: error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "test2.py", line 2, in <module>
      urlopen('https://www1.pplweb.com').read()
    File "/usr/lib/python3.2/urllib/request.py", line 138, in urlopen
      return opener.open(url, data, timeout)
    File "/usr/lib/python3.2/urllib/request.py", line 369, in open
      response = self._open(req, data)
    File "/usr/lib/python3.2/urllib/request.py", line 387, in _open
      '_open', req)
    File "/usr/lib/python3.2/urllib/request.py", line 347, in _call_chain
      result = func(*args)
    File "/usr/lib/python3.2/urllib/request.py", line 1171, in https_open
      context=self._context, check_hostname=self._check_hostname)
    File "/usr/lib/python3.2/urllib/request.py", line 1138, in do_open
      raise URLError(err)
  urllib.error.URLError: <urlopen error [Errno 1] _ssl.c:392: error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)>

  This should return the html for the 403 error page, not an internal
  SSL parsing error.

  I'm running Ubuntu 12.04.

  Strangely, this code runs fine under Python2.6 on Fedora 13, but
  returns a "httplib.BadStatusLine: ''" error under Python2.7 on Fedora
  16.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: python 2.7.3-0ubuntu2
  ProcVersionSignature: Ubuntu 3.2.0-24.39-generic 3.2.16
  Uname: Linux 3.2.0-24-generic x86_64
  NonfreeKernelModules: nvidia wl
  ApportVersion: 2.0.1-0ubuntu8
  Architecture: amd64
  Date: Tue Jun 26 10:41:49 2012
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64+mac (20111012)
  SourcePackage: python-defaults
  UpgradeStatus: Upgraded to precise on 2012-05-10 (46 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1017976/+subscriptions



More information about the foundations-bugs mailing list