Python < 2.7 ve openssl 0.9.8 öncesi versiyonlarda urllib2 kütüphanesini kullanırken SSLV3_ALERT_HANDSHAKE_FAILURE benzer bir hata veriyor. Yaklaşık bir gün boyunca beni çileden çıkarmayı başardı. Problem macOsX de ön tanımlı openssl kütüphanesinden kaynaklanıyor.
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 0.9.8zh 14 Jan 2016
Konsolda yukardaki çıktıyı alıyorsanız sizinde bu hatayla karşılaşmanız olası. Yapılması aslında o kadar zor bir şey değilmiş tabi brew kuruluysa.Bu brew hayat kurtarıyor.
Brew yardımıyla openssl ve python kurulumu:
brew install openssl
brew install python --with-brewed-openssl
Kurulum yaptıktan sonra çıktı aşagıdaki gibi olması gerekiyor.
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2h 3 May 2016
Eğer sisteminizde hali hazırda python yüklüyse
brew link python komutuyla brew ile yüklenen pythonu aktif hale getirebilirsiniz.