可以使用 HTTPoison 为本地主机指定端口吗?

Can the port be specified for localhost using HTTPoison?

我正在进行一项测试,我需要在其中访问我在本地 运行 的服务。该服务是一个 rails 应用程序,其中公开了 JSON api。它位于端口 3000 上的 运行。当我执行此长生不老药代码时,出现错误:

json_event = <some valid json built earlier>
my_url = "http://localhost:3000/api/service_call"
response = HTTPoison.post(my_url, json_event)

我得到的错误是:

{:error, %HTTPoison.Error{id: nil, reason: :econnrefused}}

我应该注意到,当我执行该代码时,在服务日志中没有找到输出。

我的问题是可以指定端口吗?如果可以,我是否通过简单地将其构建到 url 中来正确地指定端口?

我想接下来的问题是我可能会收到此 :econnrefused 错误的原因是什么?

我什至不确定我问的问题是否正确 :P

谢谢

这里的答案分为两部分:

  1. 是的,您可以指定端口,只需将其放入 URL 本身即可。例如,http://localhost:3000/api/service_call.

  2. 重新启动修复了我系统的所有问题。我不知道为什么会有所不同。

我们已经在多台机器上看到过这种情况。

我们最初使用 ngrok 解决了这个问题。

然后我们发现这条评论暗示这是一个 ipv6 问题,按照列出的步骤进行操作,它对我们有用。 https://github.com/scrogson/oauth2/issues/94#issuecomment-308665656