BubbleWrap HTTP获取请求

时间:2013-06-17 15:11:08

标签: http-get rubymotion

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

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

  end
end

我知道这个请求正在运行,因为它在控制台中向我显示数据。我无法在任何地方找到如何从附加该URL的数据库请求信息。任何帮助将不胜感激。我已经和Ruby一起工作了一年,但对RubyMotion来说还是新手。

2 个答案:

答案 0 :(得分:0)

不确定是否完全理解您的问题,但您可能需要查看此link和此one,说明如何从服务中检索和处理数据。

希望它有所帮助。

答案 1 :(得分: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)。

  5. 如果你在这方面领先于我并且它太基本无法使用,我道歉。