Hi Frank, What you need to do is a bit of http client programming. There are lots of options, including:
http://dev.ctor.org/http-access2 http://rfuzz.rubyforge.org http://curb.rubyforge.org ... Whatever you use depends on your needs/tastes. A simplified (non-error-checked) example of retrieving the current google stock price and change from yahoo via POST (even tho quote.csv is GET'able) using ruby's Net:HTTP (http://www.ruby-doc.org/stdlib/ libdoc/net/http/rdoc/classes/Net/HTTP.html): $ irb irb(main):001:0> require 'net/http' => true irb(main):002:0> require 'uri' => false irb(main):003:0> app_uri = URI.parse('http:// download.finance.yahoo.com/d/quotes.csv') => #<URI::HTTP:0xfdbd68e4e URL:http://download.finance.yahoo.com/d/ quotes.csv> irb(main):004:0> params = {'s'=>'GOOG', 'f'=>'l1c1'} => {"f"=>"l1c1", "s"=>"GOOG"} irb(main):005:0> price,change = Net::HTTP.post_form(app_uri, params).body.chomp.split(',') => ["351.10", "+8.44"] You probably don't want to use Net::HTTP tho, given it's limitations. Personally, of the various ruby http clients I've used, I have yet to find one that I end up using more than I do just wrapping wget (http:// linux.die.net/man/1/wget), when available for use, given all of the inherent built-in goodies/flexibility provided by wget. Here's a similar simplified wget example of the above: $ irb irb(main):001:0> require 'cgi' => true irb(main):002:0> app_url = 'http://download.finance.yahoo.com/d/ quotes.csv' => "http://download.finance.yahoo.com/d/quotes.csv" irb(main):003:0> params = {'s'=>'GOOG', 'f'=>'l1c1'} => {"f"=>"l1c1", "s"=>"GOOG"} irb(main):004:0> postable_params = params.to_a.collect {|k,v| "# {CGI::escape(k)}=#{CGI::escape(v)}" }.join('&') => "f=l1c1&s=GOOG" irb(main):005:0> price,change = `wget -o /dev/null -T 2.0 --post-data '#{postable_params}' -O - '#{app_url}'`.chomp.split(',') => ["349.80", "+7.14"] Jeff On Feb 18, 8:59 am, Frank Kim <[email protected]> wrote: > I probably did not say it right. I'll try again. :-) > > There is a form on another website. I want to submit data to this > external from from my RoR app. > > I thought a simple way would be to do a get on the URL of the form > with query arguments for the different fields of the form. But I > don't even know how to do that. Can anyone help? > > > > On Wed, Feb 18, 2009 at 6:08 AM, Sazima <[email protected]> wrote: > > > Frank, > > > What do you mean? You can't post TO a form, you post FROM a form... > > > Cheers, Sazima > > > On Feb 17, 9:18 pm, Frank Kim <[email protected]> wrote: > >> Hi, > > >> This is probably a dumb question but I can't figure it out. > > >> How do you post to an external form? I think the easiest way would be > >> to do a GET on the URL with the query arguments but I don't know how > >> to do that in a Ruby on Rails controller. And it'd be cool to figure > >> out if the form submitted correctly. > > >> Thanks, > >> -- > >> Frank Kimhttp://betweengo.com/ > > -- > Frank Kimhttp://betweengo.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

