Wie benutzt man Curl auf Rubin auf Schienen? Wie diesesCurl on Ruby on Rails
curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'
Wie benutzt man Curl auf Rubin auf Schienen? Wie diesesCurl on Ruby on Rails
curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'
Gerade falls Sie nicht wissen, es erfordert 'net/http'
require 'net/http'
uri = URI.parse("http://example.org")
# Shortcut
#response = Net::HTTP.post_form(uri, {"user[name]" => "testusername", "user[email]" => "[email protected]"})
# Full control
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({"user[name]" => "testusername", "user[email]" => "[email protected]"})
response = http.request(request)
render :json => response.body
Hoffe es wird andere hilft .. :)
Die einfachste Beispiel dafür, was Sie zu tun versuchen, ist dies wie diese
`curl -d 'params1[name]=name¶ms2[email]' 'http://mydomain.com/file.json'`
mit Backticks auszuführen Jedoch gibt diese eine Zeichenfolge, die Sie, wenn Sie zu analysieren, würde wollte etwas über die Antwort vom Server wissen.
Abhängig von Ihrer Situation würde ich Faraday empfehlen. https://github.com/lostisland/faraday
Die Beispiele auf der Website sind geradlinig. Installieren Sie das Juwel, erfordern es, und etwas tun, wie folgt aus:
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} }
Der Post Körper automatisch in eine URL kodierter Form Zeichenfolge gedreht wird. Aber Sie können auch einfach eine Zeichenfolge posten.
conn.post '/file.json', 'params1[name]=name¶ms2[email]'
nicht initialisierte Konstante TestController :: Faraday Ich installiere erfolgreich das Juwel .. Was ist das Problem? – Lian
Hast du den Edelstein zum Gemfile hinzugefügt? und dann 'bundle install' ausführen, normalerweise bedeutet diese Entschlüsselung von konstanten Fehlern, dass sie nicht geladen wurde. – stuartc
Ja, ich bin damit fertig. – Lian
Hier eine Locke zu Rubys ist net/http-Wandler: https://jhawthorn.github.io/curl-to-ruby/
zum Beispiel kann ein curl -v www.google.com
Befehl entspricht in Ruby:
require 'net/http'
require 'uri'
uri = URI.parse("http://www.google.com")
response = Net::HTTP.get_response(uri)
# response.code
# response.body
haben Sie eine spezielle requirment cUrl verwenden, coz ich denke, Sie könnten Ruby HTTP-Post-Methode – sameera207
http://stackoverflow.com/questions/3810650/help-me-converting-this-curl-to-a- post-method-in-rails –
überprüfen Sie diese http://stackoverflow.com/questions/11269224/ruby-https-post-with-headers – sameera207