ValueError: check_hostname requires server_hostname when making GET requests

I just built python 2.7.9 from source for RHEL5.7 and installed requests using easy_install.
I get the following error when running 

```
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
```

```
Python 2.7.9 (default, Feb  2 2015, 17:03:23)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/api.py", line 65, in get
    return request('get', url, **kwargs)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/api.py", line 49, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/sessions.py", line 461, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/adapters.py", line 370, in send
    timeout=timeout
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/packages/urllib3/connectionpool.py", line 518, in urlopen
    body=body, headers=headers)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/packages/urllib3/connectionpool.py", line 322, in _make_request
    self._validate_conn(conn)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/packages/urllib3/connectionpool.py", line 727, in _validate_conn
    conn.connect()
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/packages/urllib3/connection.py", line 238, in connect
    ssl_version=resolved_ssl_version)
  File "/opt/python2.7/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg/requests/packages/urllib3/util/ssl_.py", line 254, in ssl_wrap_socket
    return context.wrap_socket(sock)
  File "/opt/python2.7/lib/python2.7/ssl.py", line 350, in wrap_socket
    _context=self)
  File "/opt/python2.7/lib/python2.7/ssl.py", line 537, in __init__
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname
>>>
```


Ok, so this happens in one of two cases: either `server_hostname` is `None`, or `ssl.HAS_SNI` is `False`. Can you print the result of `import ssl; print ssl.HAS_SNI` please?


I get `False`


Right, so the problem is that in Python 2.7.9 the assumption we make about `HAS_SNI` and hostname verification is wrong. This is actually a bug in [urllib3](https://github.com/shazow/urllib3), so we need to open it over there.


Forgive my ignorance, I'm trying to follow what's going on with this issue and the linked issues since I'm experiencing this problem right now.  Is there a workaround in the meantime before this change makes it into released versions?  Currently I have requests-2.5.0 installed with pip and virtualenv, which seems to pull in its own copy of urllib3.  Is there a different compatible version of requests I can install to workaround?