【发布时间】:2015-09-15 18:34:57
【问题描述】:
我正在尝试使用 https 安全地使用 ruby 中的参数进行多部分发布。我看到的所有例子都是http,除了文件没有参数。但是,我似乎无法修改它们以使它们与 https 和其他参数一起使用(或找到显示一个很好示例的文档)。如何在带有参数的 ruby 中使用 HTTPS 进行多部分 POST?我已尝试修改 Nick Sieger 的代码,如下所示,但无济于事。除了文件,我在哪里添加需要以 JSON 格式传入的参数?
# push file to rest service
url = URI.parse('https://some.url.test/rs/test')
File.open(tm.created_file_name) do |txt|
req = Net::HTTP::Post::Multipart.new url.path,
'file' => UploadIO.new(txt, 'text/plain', tm.created_file_name)
n = Net::HTTP.new(url.host, url.port)
n.use_ssl = true
p req.body_stream
res = n.start do |http|
response = http.request(req)
p response.body
end
end
【问题讨论】:
-
如果你不是绝对需要使用 Net::HTTP,我会选择 Faraday:stackoverflow.com/questions/16725195/upload-files-using-faraday
-
这个问题建立在那个问题的基础上......但不同,因为我需要 JSON 中的安全和附加参数