我需要使用ruby创建一个HTTP PUT请求。
该请求具有JSON正文
我能够使用以下命令生成JSON主体:
require 'rubygems'
require 'json'
jsonbody = JSON.generate["message"=>"test","user"=>"user1"]
我需要将这个PUT请求发送到url:
require 'open-uri'
url = URI.parse('http://www.data.com?access_token=123')
有人能告诉我如何在Ruby中做到这一点吗?
发布于 2011-01-22 06:32:29
像这样使用restclient (gem install rest-client):
require 'rubygems'
require 'rest_client'
require 'json'
jdata = JSON.generate(["test"])
RestClient.put 'http://localhost:4567/users/123', jdata, {:content_type => :json}
针对以下sinatra服务:
require 'sinatra'
require 'json'
put '/users/:id' do |n|
data = JSON.parse(request.body.read)
"Got #{data} for user #{n}"
end
在我的电脑上工作。
发布于 2011-01-22 02:52:38
最简单的方法是使用Net::HTTP
require 'net/http'
http = Net::HTTP.new('www.data.com')
response = http.request_put('/?access_token=123', jsonbody)
https://stackoverflow.com/questions/4762541
复制相似问题