【问题标题】:How to write a CURL PUT script in Ruby?如何在 Ruby 中编写 CURL PUT 脚本?
【发布时间】:2014-02-23 04:14:51
【问题描述】:

如果我在终端中一次输入一行,以下代码运行良好:

curl -X PUT \
> -H "X-Parse-Application-Id: APPID" \
> -H "X-Parse-REST-API-Key: APIKEY" \
> -H "Content-Type: application/json" \
> -d '{"production":true}' \
> https://api.parse.com/1/classes/FIELD/OBJECTID

如何将其转换为 Ruby 脚本?

我尝试过使用 httparty、uri、net/http,但 curl 的语法(\ 以及它是 PUT 请求的事实)让我感到困惑。

【问题讨论】:

  • 你为什么不尝试使用 Curb,它是 cURL 的 Ruby 包装器?
  • 好吧,你可以把它包裹在system()

标签: ruby curl


【解决方案1】:

Curb 是一个 cURL 包装器。这是一些未经测试的代码:

require 'curb'

# curl -X PUT \
# > -H "X-Parse-Application-Id: APPID" \
# > -H "X-Parse-REST-API-Key: APIKEY" \
# > -H "Content-Type: application/json" \
# > -d '{"production":true}' \
# > https://api.parse.com/1/classes/FIELD/OBJECTID

http = Curl.put("https://api.parse.com/1/classes/FIELD/OBJECTID") do |http|
  http.headers['X-Parse-Application-Id'] = 'APPID'
  http.headers['X-Parse-REST-API-Key'] = 'APIKEY'
  http.headers['Content-Type'] = 'application/json'
  http.data = '{"production":true}'
end
puts http.body_str

【讨论】:

  • 谢谢!只需将 http.data 转换为 JSON 并将其作为 put 请求中的第二个参数,效果很好。
猜你喜欢
  • 2019-02-17
  • 2015-10-21
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2011-11-03
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多