- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Phoenix 应用程序(lib/mix/tasks/fetch.btc.ex)上有混合任务mix fetch.btc
:
defmodule Mix.Tasks.Fetch.Btc do
use Mix.Task
def run(_args) do
res = HTTPoison.get!("https://blockchain.info/ticker")
IO.inspect(res)
end
end
当我运行 mix fetch.btc
时出现错误:
** (ArgumentError) argument error
(stdlib) :ets.lookup_element(:hackney_config, :mod_metrics, 2)
PROJ_DIR/deps/hackney/src/hackney_metrics.erl:27: :hackney_metrics.get_engine/0
PROJ_DIR/deps/hackney/src/hackney_connect.erl:78: :hackney_connect.create_connection/5
PROJ_DIR/deps/hackney/src/hackney_connect.erl:47: :hackney_connect.connect/5
PROJ_DIR/deps/hackney/src/hackney.erl:330: :hackney.request/5
lib/httpoison/base.ex:787: HTTPoison.Base.request/6
lib/httpoison.ex:128: HTTPoison.request!/5
lib/mix/tasks/fetch.btc.ex:14: Mix.Tasks.Fetch.Btc.run/1
(mix) lib/mix/task.ex:331: Mix.Task.run_task/3
(mix) lib/mix/cli.ex:79: Mix.CLI.run_task/2
(elixir) lib/code.ex:767: Code.require_file/2
但在我的 Controller 中,这段代码 res = HTTPoison.get!("https://blockchain.info/ticker")
成功了!
信息:
hackney: 1.15.1
httpoison: 1.5.0
phoenix: 1.4.3
最佳答案
Controller 中的代码在应用程序及其所有依赖项 已经启动时运行。 mix
任务在 :mix
应用程序中运行,默认情况下显然不会启动 :hackney
。
您只需确保它已启动/手动启动:
def run(_args) do
# ⇓⇓⇓⇓⇓⇓⇓ THIS ⇓⇓⇓⇓⇓⇓⇓
Application.ensure_all_started(:hackney)
# ⇑⇑⇑⇑⇑⇑⇑ THIS ⇑⇑⇑⇑⇑⇑⇑
res = HTTPoison.get!("https://blockchain.info/ticker")
IO.inspect(res)
end
关于elixir - Phoenix 混合任务上的 HTTPoison ArgumentError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55946337/
升级到 Elixir 1.10.3 后,调用 HTTPoison.request!()提出了HTTPoison.Error与 id: nil和 {:options, {:sslv3, {:versio
是否有任何教程如何使用 HTTPoison.post 上传本地文件? 打开文件 {:ok, file} = File.open "README.md" HTTPoison.post("#{url}",
我正在用 HTTPoison 做一个帖子,在一台机器上一切正常,但在另一台机器上使用相同的代码,具有类似的环境参数。 HTTPoison.post!("https://remote_api", "",
这是一个非常简单的模块,它会不断检查请求者的 IP。我使用反向连接代理,这意味着它在每次 http 请求时都会获得新的 IP。 defmodule Test do def go() do
我是 Elixir 的新手。我希望它类似于 Python 或 R,可以轻松下载模块并保持最新。 我已经创建了一个使用 HTTPoison 的混合项目,但我真的只是想从解释器中试用 HTTPoison。
我正在尝试使用 HTTPoison 处理来自 API 调用的响应 在我的应用程序上下文中,我有 def add_to_cart(data, user) do case HTTPoison.post
我正在尝试像这样初始化模块属性 response = HTTPoison.get! url {:ok, response} = Poison.decode(response.body) @
我正在尝试做一个 http 请求 def getPage() do url = "http://myurl" body = '{ "call": "MyCa
我有一个非常简单的请求,但它看起来像 HttpPoison无法解决这个问题。 请求有附件,所以我使用的是 multipart/form-data 内容类型。 当我只发送文件时,请求工作正常,但我需要向
如果我尝试: url = "https://www.economist.com/news/finance-and-economics/21727073-economists-struggle-work
我在 Phoenix 应用程序(lib/mix/tasks/fetch.btc.ex)上有混合任务mix fetch.btc: defmodule Mix.Tasks.Fetch.Btc do u
我在 Phoenix 应用程序(lib/mix/tasks/fetch.btc.ex)上有混合任务mix fetch.btc: defmodule Mix.Tasks.Fetch.Btc do u
背景 我有一个库,它使用 HTTPoison 来实现我需要测试的某些功能。为此,我使用 Mox ,我相信它是 Elixir 的通用模拟库(尽管还有其他这个库有 José Valim 的批准印章) 问题
当我尝试时: HTTPoison.get! "https://facebook.com" 我得到: ** (HTTPoison.Error) {:tls_alert, 'unknown ca'} [e
如何使用 HTTPoison 发出 HTTP/1.0 请求?我不知道它使用的是哪个版本,但我假设默认情况下它不是 1.0。 我正在与一些名为 MoneyWorks 的会计软件集成,它们 recomme
我有一个客户端使用分块的 HTTP 响应。 HTTPoison.request(method, url, body, headers, stream_to: self(), timeout: 50_0
我正在尝试使用 Elixir 访问 Azure Storage Services via their REST API但我很难获得 Authentication Header上类。如果我使用ex_az
我正在尝试使用 Elixir 访问 Azure Storage Services via their REST API但我很难获得 Authentication Header上类。如果我使用ex_az
我是一名优秀的程序员,十分优秀!