Rails open-uri 在路径上中断

发布于 2024-11-30 00:54:38 字数 329 浏览 2 评论 0原文

我正在尝试使用 open-uri 获取 url。

我的代码非常简单

   url = open("http://localhost:3000/descriptions")

   return render :text => url.to_json

当我运行此代码时,出现超时错误。

当我请求“http://localhost:3000”时,我得到了我的主页(这是正确的)。 所以看来这在某个地方中断了。 我尝试过将 net-http 与 uri 一起使用(不确定这是否会产生影响),但仍然遇到同样的问题。我想获得一条路径和一个查询,但我似乎无法让它发挥作用。

I'm trying to get a url using open-uri.

my code is outrageously simple

   url = open("http://localhost:3000/descriptions")

   return render :text => url.to_json

When I run this code, I get a timeout error.

When I request just "http://localhost:3000", I get my home page (which is correct).
So it seems this is breaking on the path somewhere.
I've tried using net-http with uri (not sure if that would make a difference) and I still have the same issue. I want to get a path and a query, but I can't seem to get that to work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七禾 2024-12-07 00:54:38

当然:我猜您使用的是默认的 webrick 服务器,它一次只能处理一个请求:

  • 一个由您的控制器的操作消耗

  • 一个由您的 open 调用消耗

两种解决方案:

  • 将 dev 中的 webrick 替换为 Thin 或 Unicorn 或其他内容

  • 使用 webrick 启动两个服务器: rails s & Rails s -p 3001。一个在端口 3000,另一个在端口 3001

Of course: I guess you're using the default webrick server which is only able to handle one request at a time:

  • one is consumed by your controller's action

  • one is consumed by your open call

Two solutions:

  • replace webrick in dev with thin or unicorn or whatever

  • launch two servers with webrick: rails s & rails s -p 3001. One on port 3000, another on port 3001

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文