request.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] falha de handshake de alerta sslv3 (_ssl.c: 600)
Eu mudei a versão openssl do terminal,
kingw angdeMini: icampuslist_web kingwang $ openssl version
OpenSSL 1.0.2d 9 de julho de 2015
mas a versão do openssl do meu python ainda é uma versão antiga:
kingw angdeMini: icampuslist_web kingwang $ python -c "importar ssl; imprimir (ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zg 14 de julho de 2015
Eu sei que o bug de [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] é devido ao erro de versão.
Eu quero saber como mudar a versão do openssl do meu python ~
obrigado!
A versão OpenSSL do seu Python é contra a qual ele é compilado. Nesse caso, para Mac OS X, você precisará compilar um novo Python. A maneira mais fácil de fazer isso é usar o Homebrew : brew install python
fornecerá a você um novo Python com um OpenSSL mais moderno.
Você também pode corrigir o bug para si mesmo executando pip install pyasn1 ndg-httpsclient pyopenssl
, que também fornecerá um OpenSSL mais recente que apenas Requests podem usar.
Este é meu primeiro uso do github para resolver o problema.
@Lukasa
Obrigado! E meu bug foi resolvido agora.
Eu uso o pyenv para executar o python. e eu desinstalo o python e instalo novamente. Está funcionando! Tão feliz ~~
A propósito, tentei primeiro o segundo método, mas não está funcionando. Então tentei o primeiro. Não sabia o motivo. Talvez eu já tenha instalado esses pacotes.
Finalmente, muito obrigado!
Comentários muito úteis
A versão OpenSSL do seu Python é contra a qual ele é compilado. Nesse caso, para Mac OS X, você precisará compilar um novo Python. A maneira mais fácil de fazer isso é usar o Homebrew :
brew install python
fornecerá a você um novo Python com um OpenSSL mais moderno.Você também pode corrigir o bug para si mesmo executando
pip install pyasn1 ndg-httpsclient pyopenssl
, que também fornecerá um OpenSSL mais recente que apenas Requests podem usar.