0

我有一个应用程序,我试图从远程数据库中提取数据。我有 url 和表列和数据库名称,但我不确定如何使用 http get 调用该数据库。下面是我的代码:

def self.data
  BubbleWrap::HTTP.get("url", {credentials: {username: '***', password: '***'}}) do |response|
     p response.to_s

  end
end

我知道这个请求是有效的,因为它在控制台中显示了我的数据。我无法在任何地方找到如何从附加该 url 的数据库中请求信息。任何帮助将不胜感激。我已经使用 Ruby 一年了,但对 RubyMotion 还是陌生的。

4

2 回答 2

0

这可能太简单了,但是对于 HTTP 请求,您不是在查询数据库,而是从 HTTP 服务器请求数据。服务器的工作是查看您的请求、访问数据库、检索数据、打包数据(通常采用 JSON 格式)并将其发回。我相信这就是@railsdog 在编组方面所指的内容。

现在,还有一些其他评论:

  1. "url"在您的代码中应该是一个实际的端点,例如https://my.server.org/api/some_endpoint.json. 包含凭据的有效负载可以作为查询字符串附加,但是,您可能需要考虑 POST 和 SSL,正如我在下一点中所说的那样。

  2. 您永远不应通过 HTTP 以明文形式发送凭据。如果您必须发送敏感信息,请使用 HTTPS(设置您的服务器以响应 SSL 加密的请求)。

  3. 最好在第一次请求时进行一次身份验证,并获得一个可以在后续请求中使用的令牌,以免过度暴露用户名和密码。也许您可以填写一些关于您的服务器是什么的空白(Rails、一些公共 API 等),这样会更容易提供帮助。

  4. 您将需要以某种可识别的格式接受来自服务器的数据。JSON 得到很好的支持。BubbleWrap 有一个 JSON 解析器来帮助将结果转换为哈希。替代格式是 XML (ick) 或 XML-RPC (ick, ick) 或 SOAP (ick, ick, ice)。

如果您在这方面领先于我并且它太基本而无法使用,我深表歉意。

于 2013-06-29T17:24:42.970 回答
0

不确定是否完全理解您的问题,但您可能想看看这个链接和这个链接,解释如何从服务中检索和处理数据。

希望能帮助到你。

于 2013-06-18T07:04:44.760 回答