I’m trying to do a POST using net/http.
When I do:
r = Net::HTTP.post_form(u,{‘volumectrl’=>’-20’})
I get:
NoMethodError: undefined method `post_form’ for Net::HTTP:Class
from (irb):5
What am I doing wrong?
Thanks!
I’m trying to do a POST using net/http.
When I do:
r = Net::HTTP.post_form(u,{‘volumectrl’=>’-20’})
I get:
NoMethodError: undefined method `post_form’ for Net::HTTP:Class
from (irb):5
What am I doing wrong?
Thanks!
On Jan 4, 2006, at 9:42, Alex F. wrote:
doesn’t exist in ruby 1.8. Annoying huh?
It exists in 1.8.3, it would seem:
[Prospero:~] matt% ruby -v
ruby 1.8.3 (2005-09-21) [powerpc-darwin8.3.0]
[Prospero:~] matt% ruby
require ‘net/http’
puts Net::HTTP.methods.include?(“post_form”)
true
I’ve used it with no problems at all, in the same basic format as the
original poster.
matthew smillie.
Thanks Alex, that was it, I’m on 1.8.3.
“Alex F.” [email protected] wrote in message
news:[email protected]…
itsme213 wrote:
I’m trying to do a POST using net/http.
r = Net::HTTP.post_form(u,{‘volumectrl’=>’-20’})
I get:
NoMethodError: undefined method `post_form’ for Net::HTTP:Class
from (irb):5
What ruby version are you running? I ran into this same problem last
week, and it was because the standard stdlib documentation (on ruby-doc)
refers to ruby 1.9, where the post_form method exists. It doesn’t exist
in ruby 1.8. Annoying huh?
Try something like:
Net::HTTP.start('www.foo.com', 80) do | http |
response = http.post('/cgi-bin/foo.cgi', encoded_post)
end
Note that you’ll need to manually turn your hash into a URI-encoded
string. Look at URI.encode() in the stdlib.
alex
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs