This is a known bug, you can work it around with a hack:
Open up site-packages/requests/packages/urllib3/connectionpool.py
(or otherwise just make a local copy of requests inside your own project), and change the block that says:
def connect(self):
# Add certificate verification
sock = socket.create_connection((self.host, self.port), self.timeout)
# Wrap socket using verification with the root certs in
# trusted_root_certs
self.sock = ssl_wrap_socket(sock, self.key_file, self.cert_file,
cert_reqs=self.cert_reqs,
ca_certs=self.ca_certs,
server_hostname=self.host,
ssl_version=self.ssl_version)
to:
def connect(self):
# Add certificate verification
sock = socket.create_connection((self.host, self.port), self.timeout)
# Wrap socket using verification with the root certs in
# trusted_root_certs
self.sock = ssl_wrap_socket(sock, self.key_file, self.cert_file,
cert_reqs=self.cert_reqs,
ca_certs=self.ca_certs,
server_hostname=self.host,
ssl_version=ssl.PROTOCOL_TLSv1)
Otherwise, I suppose there's an override somewhere which is less hacky, but I couldn't find one with a few glances.
NOTE: On a sidenote, requests
from PIP (1.0.4) on a MacOS just works with the URL you provided.