@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Mac OSX の Python 2 にインストールした httpie で一部の SSL URL にアクセスすると "sslv3 alert handshake failure" エラーが出る

httpie が内部で使っている requests という HTTP ライブラリのリポジトリに該当する issue があった。

https GET request fails with "handshake failure" · Issue #2022 · kennethreitz/requests · GitHub

Mac OSX にプリインストールされている OpenSSL が原因とのこと。

提示されている解決方法は、

  1. Homebrew で OpenSSL をインストールし、その後 Homebrew で Python 2 をインストールする(Homebrew でインストールされた OpenSSL とリンクするので以後は問題が発生しなくなる)
  2. Homebrew で OpenSSL をインストールし、その後 PyOpenSSL を新しい OpenSSL でビルドされるようにインストールする

Python 3 なら問題ないらしいので httpie を Python 3 のほうでインストールして使うことにした。

$ brew install python3
$ sudo pip uninstall httpie
$ pip3 install httpie