Post form example

Im looking for a very very basic POST form that will post data to an external website with Net:http

I wonder if anyone has created one they could share?

Im looking for a very very basic POST form that will post data to an external website with Net:http

I wonder if anyone has created one they could share?

From... http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/classes/Net/HTTP.html

Posting Form Data          require 'net/http'     require 'uri'

    #1: Simple POST     res = Net::HTTP.post_form(URI.parse('http://www.example.com/search.cgi’),                               {'q'=>'ruby', 'max'=>'50'})     puts res.body

    #2: POST with basic authentication     res = Net::HTTP.post_form(URI.parse('http://jack:pass@www.example.com/todo.cgi’),                                         {'from'=>'2005-01-01', 'to'=>'2005-03-31'})     puts res.body

    #3: Detailed control     url = URI.parse('http://www.example.com/todo.cgi’)     req = Net::HTTP::Post.new(url.path)     req.basic_auth 'jack', 'pass'     req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')     res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }     case res     when Net::HTTPSuccess, Net::HTTPRedirection       # OK     else       res.error!     end

Or did you mean something else?

-philip

This is what I have used a few times. Error handling my own.

def self.post_data(url, post_data)

resp = “”

begin

url = URI.parse(url)

http = Net::HTTP.new(url.host, url.port)

http.use_ssl = true if url.port == 443

http.start do |http|

req = Net::HTTP::Post.new(url.path)

req.set_body_internal(post_data)

response = http.request(req)

resp = response.body

end

rescue Exception => e

@response_error = e

error = SystemError.new(:user_id => nil,

:account_id => nil,

:location => “GlobalFunctions.post_data”,

:error => “#{e}”,

:incidentals => {“url” => url,

“post_data” => post_data}

).save

end

resp

end

Crooksey wrote:

Im looking for a very very basic POST form that will post data to an external website with Net:http

You don't need Net::HTTP to do that. Just set the form's action to an external URL.

I wonder if anyone has created one they could share?

Best,