0
我一直在嘗試對我的服務器進行API調用,以刪除開發數據庫上的用戶記錄幫助。當我使用Fiddler通過DELETE操作調用URL時,我可以立即刪除用戶記錄。當我打電話的同一網址再次刪除操作時,從下面我的劇本,我得到這個錯誤:無法使用Ruby的淨/ HTTP庫進行HTTP刪除請求
{「消息」:「所請求的資源不支持HTTP方法‘刪除’。」}
我在下面的腳本中更改了網址。我使用的網址絕對正確。我懷疑我的代碼中有一個邏輯錯誤,我沒有發現。我的腳本:
require 'net/http'
require 'json'
require 'pp'
require 'uri'
def deleteUserRole
# prepare request
url= "http://my.database.5002143.access" # dev
uri = URI.parse(url)
request = Net::HTTP::Delete.new(uri.path)
http = Net::HTTP.new(uri.host, uri.port)
# send the request
response = http.request(request)
puts "response: \n"
puts response.body
puts "response code: " + response.code + "\n \n"
# parse response
buffer= response.body
result = JSON.parse(buffer)
status= result["Success"]
if status == true
then puts "passed"
else puts "failed"
end
end
deleteUserRole
該消息表示問題出在API上,而不是請求本身'所請求的資源不支持http方法'DELETE'' – MurifoX
上面的代碼是腳本的一小部分,大約有1000行並接近20個不同的API調用,執行GET,POST,PUT和DELETE。從我的腳本調用時,每個DELETE調用都會失敗,但放入Fiddler並單獨調用時工作正常。我的腳本在做什麼和Fiddler在做什麼之間有一些區別。我懷疑它與通過我的腳本VS通過Fiddler發送的請求標頭有關。 – Max
我發現了我的問題。我需要做的是:'request = Net :: HTTP :: Delete.new(uri)'而不是。這立即解決了我的問題 – Max