Ruby on rails 在rails 3控制器中使用curl?

Ruby on rails 在rails 3控制器中使用curl?,ruby-on-rails,json,curl,ruby-on-rails-3.2,Ruby On Rails,Json,Curl,Ruby On Rails 3.2,在这里,我想从不同的源导入数据库,并使用如下api: curl -H X-Auth-Ticket:47827EC1B6871D... https://url/10482/ApiGetDeepData | gzip -d >result.json 现在,这个命令将把curl结果导出到json文件中,我需要一种将这些json数据导入rails 3数据库的方法。为此,我需要帮助将json文件导入rails 3数据库。我不知道 如果有人知道如何在控制器中编写curl,我将非常感激 知道如何解决这

在这里,我想从不同的源导入数据库,并使用如下api:

curl -H X-Auth-Ticket:47827EC1B6871D... https://url/10482/ApiGetDeepData | gzip -d >result.json
现在,这个命令将把curl结果导出到json文件中,我需要一种将这些json数据导入rails 3数据库的方法。为此,我需要帮助将json文件导入rails 3数据库。我不知道

如果有人知道如何在控制器中编写curl,我将非常感激


知道如何解决这个问题吗?

通常我们不会在rails控制器中编写curl。我使用的是一个简单的Rest Rails客户端

使用curl的方法是将命令放在`

例如:

`curl http://somedomain/url`

通常我们不会在rails控制器中编写curl。我使用的是一个简单的Rest Rails客户端

使用curl的方法是将命令放在`

例如:

`curl http://somedomain/url`

您可以使用post、get等为api调用使用httparty

response = HTTParty.post(
  "https://url/id/ApiGetDeepData", 
  headers: {"Auth-Ticket" => 47827EC1B6871D...}
)

通过这种方式,无需导出任何json文件,您将直接获得json格式的响应,并且您可以导出任何您想要的值

您可以使用post、get等为api调用使用httparty

response = HTTParty.post(
  "https://url/id/ApiGetDeepData", 
  headers: {"Auth-Ticket" => 47827EC1B6871D...}
)

通过这种方式,无需导出任何json文件,您将直接获得json格式的响应,并且您可以导出任何您想要的值

是的,使用HTTParty我们可以很容易地获取api数据

response = HTTParty.post("url_to_my_api", body: { signinEmail: ENV["EMAIL"], password: ENV["PASSWORD"] }
)

result = HTTParty.post(
  "url_to_my_api", 
  headers: {"Auth-Ticket" => response["ticket"]}
)
这对我很有帮助

编辑:
正确的语法

是的,使用HTTParty我们可以轻松获取api数据

response = HTTParty.post("url_to_my_api", body: { signinEmail: ENV["EMAIL"], password: ENV["PASSWORD"] }
)

result = HTTParty.post(
  "url_to_my_api", 
  headers: {"Auth-Ticket" => response["ticket"]}
)
这对我很有帮助

编辑:
更正语法

如果有效,请接受答案或投赞成票。谢谢我在ruby中得到了system()函数,该函数也将在controller中执行curl命令,但我无法通过key访问结果以获取key的值,您能在这方面帮助我吗?如果system()工作正常,您可以将其作为答案发布。当然,我可以帮助获取值。您可以将其作为问题发布。@przbadu我很确定
system()
如果命令运行,则返回
true
,如果命令不运行,则返回
false
。它不会像Srikanth发布的反勾选解决方案那样为您提供结果。如果有效,请接受答案或投票。谢谢我在ruby中得到了system()函数,该函数也将在controller中执行curl命令,但我无法通过key访问结果以获取key的值,您能在这方面帮助我吗?如果system()工作正常,您可以将其作为答案发布。当然,我可以帮助获取值。您可以将其作为问题发布。@przbadu我很确定
system()
如果命令运行,则返回
true
,如果命令不运行,则返回
false
。它不会像Srikanth发布的back tick解决方案那样为您提供结果。