无法使用Net :: HTTP在我的ruby代码中发出HTTP删除请求

时间:2012-10-10 14:01:02

标签: ruby http rest

我在我的ruby代码中使用Net :: HTTP来发出http请求。例如,我做了一个帖子请求

require 'net/http'
Net::HTTP.post_form(url,{'email' => email,'password' => password})

这很有效。但我无法发出删除请求,即

require 'net/http'
Net::HTTP::Delete(url)

给出以下错误

NoMethodError: undefined method `Delete' for Net::HTTP:Class

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html处的文档显示删除可用。那为什么我的情况不合适?

谢谢

3 个答案:

答案 0 :(得分:5)

文档告诉您Net :: HTTP :: Delete是一个类,而不是一个方法。

请尝试Net::HTTP.new('www.server.com').delete('/path')

答案 1 :(得分:5)

uri = URI('http://localhost:8080/customer/johndoe')
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Delete.new(uri.path)
res = http.request(req)
puts "deleted #{res}"

答案 2 :(得分:0)

简单的发布和删除请求,有关详情,请参阅docs

puts Net::HTTP.new("httpbin.org").post("/post", "a=1").body
puts Net::HTTP.new("httpbin.org").delete("/delete").body