Ruby-on-Rails上的Curl
如何在RubyonRails上使用curl?像这个Ruby-on-Rails上的Curl,ruby-on-rails,ruby-on-rails-3,curl,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Curl,Ruby On Rails 3.1,如何在RubyonRails上使用curl?像这个 curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json' 您试图做的最基本的示例是使用如下的反勾号执行此操作 `curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'` 但是,这将返回一个字符串,如果您想了解有关服务器回复的任何信息,则必
curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'
您试图做的最基本的示例是使用如下的反勾号执行此操作
`curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'`
但是,这将返回一个字符串,如果您想了解有关服务器回复的任何信息,则必须解析该字符串
根据你的情况,我建议使用法拉第
网站上的例子是直截了当的。安装gem,需要它,然后执行以下操作:
conn = Faraday.new(:url => 'http://mydomain.com') do |faraday|
faraday.request :url_encoded # form-encode POST params
faraday.response :logger # log requests to STDOUT
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
end
conn.post '/file.json', { :params1 => {:name => 'name'}, :params2 => {:email => nil} }
帖子正文将自动转换为url编码的表单字符串。
但是你也可以发布一个字符串
conn.post '/file.json', 'params1[name]=name¶ms2[email]'
以防您不知道,它需要“net/http”
需要“net/http”
uri=uri.parse(“http://example.org")
#捷径
#response=Net::HTTP.post_form(uri,{“用户[名称]”=>“测试用户名”,“用户[电子邮件]”=>)testemail@yahoo.com"})
#完全控制
http=Net::http.new(uri.host,uri.port)
request=Net::HTTP::Post.new(uri.request\u uri)
请求。设置表单数据({“用户[名称]”=>“测试用户名”,“用户[电子邮件]”=>)testemail@yahoo.com"})
response=http.request(请求)
render:json=>response.body
希望它能帮助其他人……) 下面是ruby的net/http转换器: 例如,
curl-v www.google.com
命令在Ruby中相当于:
require 'net/http'
require 'uri'
uri = URI.parse("http://www.google.com")
response = Net::HTTP.get_response(uri)
# response.code
# response.body
你对使用cUrl有特殊要求吗,因为我认为你可以使用ruby HTTP post方法检查这个你应该使用
Net::HTTP
@shweta你能给我举个例子吗?未初始化的常量TestController::Faraday我成功安装了gem。。有什么问题吗?你把Gem添加到Gem文件了吗?然后运行bundle install
,通常那些不断出现的错误意味着它还没有被加载。是的,我已经完成了。你能发布一个你把法拉第代码放在哪里的粘贴()吗?