代码如下(很常见的发送post的方法):
def access_api(path, data)
uri = URI(path)
http = Net::HTTP.new(uri.host, uri.port)
if uri.scheme == 'https'
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
http.use_ssl = true
end
begin
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(data)
res = http.request(request)
if parsed['code'] =1
parsed
else
nil
end
rescue
puts 'communication failed'
end
end
这个方法发送类似{"name" => "www.xxx.com", "type"=>"download"}的参数,没什么问题,但是现在有一个需求参数里有一个数组,数组的元素是map,类似{"ip"=>{"static.xxx.com"=>80,"img.xxx.com"=>23}},这个该怎么搞
可以使用
Content-Type: application/json
body 放序列化的JSON
也可以使用to_query方法转成url query string的形式
api: http://api.rubyonrails.org/classes/Object.html#method-i-to_query
这是Rails里的方法
to_json 转成json放body