Elixir その2 Advent Calendar 2020 4日目です。
前日は、Surfaceをつかってみる(Elixir/Phoenix)でした。
2021-09-04追記
- ようやく会話が成立しました
- 下記の記事をご参照ください
- とあるサイトでのみ%HTTPoison.Error{id: nil, reason: :closed}が発生 解決編 (Elixir)
はじめに
- そういうことがあるのですねえ
- この記事で使用したバージョンは以下の通りです
バージョン | |
---|---|
Elixir | 1.10.4-otp-23 |
Erlang | 23.0.1 |
httpoison | 1.7.0 |
hackney | 1.16.0 |
- 大丈夫なサイトもあります
- たいてい大丈夫です
iex> HTTPoison.get "https://www.google.com"
{:ok,
%HTTPoison.Response{
body: "<!doctype html><html...
}
- エラーがでるサイトの例
- 少数派です
iex> HTTPoison.get "https://xxx.jp/"
{:error, %HTTPoison.Error{id: nil, reason: :closed}}
- なにがなんだかわからず焦った ので、調べたことを書いておきます
結論
- hackneyのアップデートを待ちましょう
{:error, %HTTPoison.Error{id: nil, reason: "closed"}} #326
回避策(非推奨)
- 必ずしも解決できるとは限りません
- hackneyのバージョンを落としてみました
- 私がアクセスしたかったサイトは以下の方法でアクセスできましたよ! ということのご紹介です
mix.exs
defp deps do
[
{:httpoison, "~> 1.6"},
{:jason, "~> 1.2"},
{:hackney, "1.15.2", override: true}
]
end
$ mix deps.update --all
$ iex -S mix
iex> HTTPoison.get "https://xxx.jp", [], ssl: [{:versions, [:'tlsv1.2']}]
{:ok,
%HTTPoison.Response{
body: "<!doctype html><html...
}
Wrapping Up
- すっきりしませんが、日本語の記事は見つからなかったので書き留めておきます
- Enjoy Elixir!!!