具有基本身份验证和多个参数的Ruby Post请求

时间:2016-08-08 03:13:32

标签: ruby rest-client curb typhoeus

我在做一些可能简单的事情时非常困难......

我正在尝试在ruby中运行一个简单的POST请求。我看过路边,台风,休息客户等等......帖子请求有基本的身份验证(通过api密钥)和两个参数......

我将命令写在下面的卷曲形式中,效果很好。

curl -X POST https://api.com/v1 -u any_string:abc123 -d var1="help" -d var2="me"

任何人都可以帮我翻译成红宝石吗?我不介意使用typhoeus,路边等......只要它有效......

2 个答案:

答案 0 :(得分:2)

我之前使用过这个工具取得了一些成功。 https://jhawthorn.github.io/curl-to-ruby/

你的curl语句生成这个Ruby代码。

require 'net/http'
require 'uri'

uri = URI.parse("https://api.com/v1")
request = Net::HTTP::Post.new(uri)
request.basic_auth("any_string", "abc123")
request.set_form_data(
  "var1" => "help",
  "var2" => "me",
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

# response.code
# response.body

Ruby中有大约一百万个不同的HTTP请求库,但有时它很容易在Net HTTP中编写(Net HTTP包含在Ruby标准库中)。

答案 1 :(得分:2)

rest-client对此也非常简洁。

fortify.zoo(x)