モチログ

はてなでのブログ

python requestsでhttpsに接続時にエラーが出る件

Mac Yosemiteの環境で、タイトルのことをしたら下記エラーが出た。

requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:581)

いつぞやのTLS脆弱性があったときにサーバ側で対策されているとエラーが出るっぽい?
ググっても自分の方で対策する方法とかが出てきてて、パッケージのバージョンアップで行けると思うのになぁと思っていたら丁度良い情報が見つかった。
using requests with TLS doesn't give SNI support

最後にあるパッケージをpipで追加したらエラーが消えました

$ pip install urllib3
$ pip install pyopenssl
$ pip install ndg-httpsclient
$ pip install pyasn1