带有XML Payload和一些URL参数的Net :: HTTP POST

时间:2010-08-30 23:43:43

标签: ruby-on-rails http post

只是一个简单的问题,

当我做的时候

request = Net::HTTP::Post.new(path)

我可以吗

path = '/api/v1/baskets?apiKey=' + api_key + '&sig=' + sig + '&time=' + time

其中api_key sig和time是一些字符串

或者我需要做什么

path = '/api/v1/baskets'
request.set_form_data({'apiKey' => api_key, 'sig' => sig, 'time' => time})

有什么区别或它们几乎相同吗?

1 个答案:

答案 0 :(得分:0)

它们几乎相同,set_form_data执行urlencode。

以下是set_form_data link

中的内容
def set_form_data(params, sep = '&')
  self.body = params.map {|k,v| "#{urlencode(k.to_s)}=#{urlencode(v.to_s)}" }.join(sep)
  self.content_type = 'application/x-www-form-urlencoded'
end

如有疑问,请始终参考ruby-doc.org