web-dev-qa-db-ja.com

net / httpを使用したPostリクエストの送信

同じコンピューターで実行される別のアプリにJSONでデータを送信する必要があります。
私はそのようにリクエストを送信します(Rails 3.2.13)

_ data = { //some data hash }
 url = URI.parse('http://localhost:6379/api/plans')
  resp, data = Net::HTTP.post_form(url, data.to_JSON )
  p resp
  p data
  { resp: resp, data: data.to_JSON }
_

しかし、私はNet::HTTPBadResponse (wrong status line: "-ERR unknown command 'POST'"):を得ます。どうすればこの問題を解決できますか?

更新1
@ Raja-dの提案に従ってコードを更新しました

_  url = URI.parse('http://localhost:6379/v1/sessions')
  http = Net::HTTP.new(url.Host, url.port)
  http.use_ssl = true
  resp, data = Net::HTTP.post_form(url, data)
  p resp
  p data
_

しかし、まだエラーが発生しますNet::HTTPBadResponse (wrong status line: "-ERR unknown command 'POST'"):

19
Elmor

私はあなたの問題が何であるかはわかりませんが、このようなものはどうですか

http = Net::HTTP.new(uri.Host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
request.body = data.to_json

response = http.request(request)
41
oldergod