--- urllib/request.py.orig 2015-07-02 16:14:45.845985526 -0400 +++ urllib/request.py 2015-07-02 16:17:47.096345514 -0400 @@ -149,16 +149,17 @@ context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH, cafile=cafile, capath=capath) + if context: https_handler = HTTPSHandler(context=context) - opener = build_opener(https_handler) - elif context: - https_handler = HTTPSHandler(context=context) - opener = build_opener(https_handler) - elif _opener is None: - _opener = opener = build_opener() - else: - opener = _opener - return opener.open(url, data, timeout) + if _opener: + _opener.add_handler(https_handler) + else: + _opener = build_opener(https_handler) + + if _opener is None: + _opener = build_opener() + + return _opener.open(url, data, timeout) def install_opener(opener): global _opener