我在我的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处的文档显示删除可用。那为什么我的情况不合适?
谢谢
答案 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