Unfortunately for urllib3, the Python standard library did not add SNI support until Python 3.2. (See Issue #118 @ urllib3)
To use SNI in Python 2.7 with urllib3, you'll need to use the PyOpenSSL injection monkeypatch. (See Issue #156 @ urllib3)
from urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
Your question basically had the same code, except it was missing the parentheses call on the pyopenssl.inject_into_urllib3()
call. Fixing that should do the trick.
You'll also need to make sure to have the following dependencies available:
- pyOpenSSL (tested with 0.13)
- ndg-httpsclient (tested with 0.3.2)
- pyasn1 (tested with 0.1.6)