2010-08-22 21 views

Respuesta

16

Usted puede hacer algo como esto ...

require 'net/http' 

postData = Net::HTTP.post_form(URI.parse('http://thewebsite.net'), {'postKey'=>'postValue'}) 

puts postData.body 
4

La biblioteca estándar Net::HTTP es bastante sencilla y se encarga de POST.

A partir de los documentos:

response = http.post('/cgi-bin/search.rb', 'query=foo') 

# using block 
File.open('result.txt', 'w') {|f| 
    http.post('/cgi-bin/search.rb', 'query=foo') do |str| 
    f.write str 
    end 
} 

Para ejemplos más detallados de cómo utilizar Net :: HTTP, ver Lilleaas agosto de Net::HTTP cheat sheet repository on Github.

+6

Usted no dice cuál es el objeto 'http', o cómo obtenerlo –

+0

@Pablo Eso es correcto; Yo no. Como dije, tomé ese ejemplo directamente de la documentación de Net :: HTTP (a la que me he vinculado). Supuse que el OP seguiría aprendiendo a usar Net :: HTTP. (Enseñe a una persona a pescar ...) – Telemachus

+0

Buen trabajo que une la hoja de trucos ... Lo había editado pero lo recuperé porque parecía demasiado intrusivo. La mejor respuesta en general = +10 –

1

Net::HTTP como se mencionó, la envoltura de rizo Curb, o HTTParty. Dependiendo de lo que trates de hacer, pueden ser excesivos.

1

Hay un montón de bibliotecas HTTP en Ruby. Está el estándar net/http y libcurl bindings. Pero también hay muchas bibliotecas de alto nivel para consumir servicios web como ActiveResource y HTTParty. Depende de lo que quieras hacer. Tal vez puede actualizar su pregunta con más información?

Cuestiones relacionadas