HTTPoisonで handshake failure を食らった


プログラミングElixirの第13章、GitHubにアクセスしてIssue一覧を取得するというのを写経していたら表題の問題にはまりました。https のサイトに接続しようとすると発生するようです。
こちらに従って hackney のバージョンを 1.6.1 に下げることで回避できることを確認したのでご報告します。かしこ

  • { :httpoison, "~> 0.8" }
  • http://api.github.com/repos/elixir-lang/elixir にGetリクエストを投げる
  • 301 Moved Permanently を食らう
  • https://api.github.com/repos/elixir-lang/elixir にGetリクエストを投げ直す
  • おおっと handshake failure!!


iex(9)> Issues.GithubIssues.fetch("elixir-lang", "elixir")
Issues.GithubIssues.fetch("elixir-lang", "elixir")

21:33:55.543 [error] SSL: :certify: tls_connection.erl:688:Fatal error: handshake failure - malformed_handshake_data

** (FunctionClauseError) no function clause matching in Issues.GithubIssues.handle_response/1
   (issues) lib/issues/github_issues.ex:14: Issues.GithubIssues.handle_response({:error, %HTTPoison.Error{id: nil, reason: {:tls_alert, 'handshake failure'}}})
どうやら hackney まわりのなにかが原因らしいのですが、、、無事に hackney バージョンを下げることで回避できました。
@hayabusa333 さんの情報が決め手になりました。

コメント

このブログの人気の投稿

inotify でファイル監視しようず!

「SQL実践入門」がとてもわかりやすい