Ruby:如何使用 Curb 发送 JSON POST 请求?

标签 ruby post curb

如何将 CURB 请求的请求主体设置为我的 json 字符串? 我正在尝试使用 Curb 发出 JSON POST 请求。

我的代码:

require 'rubygems'
require 'curb'
require 'json'

myarray = {}
myarray['key'] = 'value'
json_string = myarray.to_json()

c = Curl::Easy.http_post("https://example.com"

      # how do I set json_string to be the request body?

    ) do |curl|
      curl.headers['Accept'] = 'application/json'
      curl.headers['Content-Type'] = 'application/json'
      curl.headers['Api-Version'] = '2.2'
    end

最佳答案

正确的做法是在URL后面加上内容:

c = Curl::Easy.http_post("https://example.com", json_string_goes_here   
    ) do |curl|
      curl.headers['Accept'] = 'application/json'
      curl.headers['Content-Type'] = 'application/json'
      curl.headers['Api-Version'] = '2.2'
    end

这会将 json_string 设置为请求正文。

关于Ruby:如何使用 Curb 发送 JSON POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3851445/

相关文章:

ruby-on-rails - 我必须运行 rake db :test:load each time manually before runnings tests?

html - 从 HTML 到不同服务器的持续 POST 请求

Ruby gem curb 不会安装在 Windows 7 上,即使我使用 libcurl

ruby-on-rails-3 - Rails - 循环卷发请求占用内存

ruby-on-rails - Capistrano gzip : stdin: unexpected end of file interruption

ruby-on-rails - 生产中的 bundler 不会忽略开发和测试 gem

ruby-on-rails - Mongoid:通过id数组查找

java - 服务器返回 HTTP 响应代码 : 400 for URL : HttpURLConnection Error

php - 数据 POST 到 PHP 脚本时的奇怪之处

ruby - Curb curb-fu gem 安装问题