ruby - 如何在 ruby​​ Shoes GUI 应用程序中发出简单的 http 请求?

标签 ruby http shoes

我正在尝试向在 localhost:3000 运行的本地 Rails 应用程序发出简单的 http 请求。我的应用程序的代码很大程度上处于原型(prototype)阶段,因为我只是在尝试其他任何操作之前尝试获得原始功能。

rails 应用程序在解析之前只是返回如下所示的 JSON

"{\"response\":\"foo is blank\"}"

这是我现在正在尝试的代码:

require 'net/http'

def get_response
  return Net::HTTP.get(URI.parse("http://localhost:3000"))
end

Shoes.app(:width => 280, :height => 350) do

  flow do
    stack do
      button "make http request and display results in an alert box" do
        x = get_response
        alert x
      end# of button
    end# of stack
  end# of flow
end

我还尝试将该方法放入 Shoes.app block 中,但无济于事。执行时,这将创建它应该创建的所有元素,但当我单击按钮时什么也没有发生。

我知道你不应该用 ruby 鞋做任何实际的事情,但我还是在尝试。感谢您的宝贵时间

最佳答案

当我尝试运行您的代码时,我遇到的问题是 Shoes 应用程序无法使用 localhost 在本地连接。不要使用 localhost,而是使用计算机的本地 IP 地址。

所以只需更改此:

Net::HTTP.get(URI.parse("http://localhost:3000"))

对此:

Net::HTTP.get(URI.parse("http://10.1.4.123:3000"))

如果您计算机的本地 IP 是 10.1.4.123

要查看错误日志来确认您发生了这种情况,请在鞋子应用的顶部插入以下行:Shoes.show_log

或者只需在 Mac 上输入 cmd+/ 或在 Windows 中输入 ctrl+/(?)您正在 Shoes.app 中运行 *.rb 文件

对我来说,出现的错误是:

连接被拒绝 - “::1”端口 3000 的 connect(2)

关于ruby - 如何在 ruby​​ Shoes GUI 应用程序中发出简单的 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31842209/

相关文章:

ruby - 如何在 XMPP (Jabber) 消息中发送 Web 上的图像?

ruby-on-rails - 生产中的 Rails edit gem

ruby - 如何使用 Nokogiri 添加没有值的属性

mysql - 排除特定数字的正则表达式

http - .htaccess 重定向仅在浏览器警告后执行

apache - 为什么 Apache Web 服务器访问日志的格式不正确?

http - 如何处理 REST 中的陈旧数据?

ruby 绿鞋定时器

ruby - 如何更改我的鞋子应用程序的图标?

ruby 鞋子 : Minimize app to system tray on windows