33

Rubyでjsonを使用してヘッダー付きのHttps投稿を作成するにはどうすればよいですか?

私が試してみました:

uri = URI.parse("https://...")
    https = Net::HTTP.new(uri.host,uri.port)
    req = Net::HTTP::Post.new(uri.path)
    req['foo'] = bar
    res = https.request(req)
puts res.body
4

5 に答える 5

62

問題はjsonでした。これは私の問題を解決します。とにかく、私の質問が明確ではなかったので、懸賞金はジュリに行きます

require 'uri'
require 'net/http'
require 'net/https'
require 'json'

@toSend = {
    "date" => "2012-07-02",
    "aaaa" => "bbbbb",
    "cccc" => "dddd"
}.to_json

uri = URI.parse("https:/...")
https = Net::HTTP.new(uri.host,uri.port)
https.use_ssl = true
req = Net::HTTP::Post.new(uri.path, initheader = {'Content-Type' =>'application/json'})
req['foo'] = 'bar'
req.body = "[ #{@toSend} ]"
res = https.request(req)
puts "Response #{res.code} #{res.message}: #{res.body}"
于 2012-07-02T20:56:20.013 に答える
40

試す:

require 'net/http'
require 'net/https'

uri = URI.parse("https://...")
https = Net::HTTP.new(uri.host,uri.port)
https.use_ssl = true
req = Net::HTTP::Post.new(uri.path)
req['foo'] = bar
res = https.request(req)
puts res.body
于 2012-07-02T16:55:12.243 に答える
2

その作業は、次のようにデータとヘッダーを渡すことができます。

header = {header part}
data = {"a"=> "123"}
uri = URI.parse("https://anyurl.com")
https = Net::HTTP.new(uri.host,uri.port)
https.use_ssl = true
req = Net::HTTP::Post.new(uri.path, header)
req.body = data.to_json
res = https.request(req)

puts "Response #{res.code} #{res.message}: #{res.body}"
于 2016-06-13T12:06:04.200 に答える