requests.exceptions.SSLError:[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3アラートハンドシェイクの失敗(_ssl.c:600)
ターミナルのopensslバージョンを変更しました。
kingw angdeMini:icampuslist_web kingwang $ opensslバージョン
OpenSSL 1.0.2d 2015年7月9日
しかし、私のpythonのopensslバージョンはまだ古いバージョンです:
kingw angdeMini:icampuslist_web kingwang $ python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zg 2015年7月14日
[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE]のバグは、バージョンエラーが原因であることを知っています。
Pythonのopensslバージョンを変更する方法を知りたいです〜
ありがとう!
PythonのOpenSSLバージョンは、コンパイル対象です。 この場合、Mac OS Xの場合、新しいPythonを自分でコンパイルする必要があります。 これを行う最も簡単な方法は、 Homebrewを使用することです。 brew install python
は、より最新のOpenSSLを備えた新しいPythonを提供します。
pip install pyasn1 ndg-httpsclient pyopenssl
実行してバグを修正することもできます。これにより、リクエストのみが使用できる新しいOpenSSLも提供されます。
これは、問題を解決するためにgithubを使用する最初の方法です。
@ルカサ
ありがとうございました! そして私のバグは今解決しました。
pyenvを使用してPythonを実行します。 Pythonをアンインストールしてから、再度インストールします。 動作しています! とても幸せです~~
ちなみに、最初に2番目の方法を試しましたが、うまくいきませんでした。 それから最初のものを試しましたが、理由はわかりませんでした。 多分私はすでにそのパッケージをインストールしていました。
最後に、どうもありがとうございました!
最も参考になるコメント
PythonのOpenSSLバージョンは、コンパイル対象です。 この場合、Mac OS Xの場合、新しいPythonを自分でコンパイルする必要があります。 これを行う最も簡単な方法は、 Homebrewを使用することです。
brew install python
は、より最新のOpenSSLを備えた新しいPythonを提供します。pip install pyasn1 ndg-httpsclient pyopenssl
実行してバグを修正することもできます。これにより、リクエストのみが使用できる新しいOpenSSLも提供されます。