2016-08-08 76 views
0

我有一個可笑的困難時期做一些簡單的推測...紅寶石POST請求使用基本身份驗證和多PARAMS

我試圖運行紅寶石簡單的POST請求。我已經看過遏制,typhoeus,休息客戶端等...該發佈請求具有基本身份驗證(通過API密鑰)和兩個參數...

我有下面的捲曲形式寫出的命令,這完美的作品。

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

誰能幫我翻譯成ruby嗎?我不介意使用typhoeus,路邊等...只要它可以工作...

回答

1

我以前使用過這個工具,取得了一些成功。 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請求庫,但有時它只是簡單的把它寫在淨HTTP(HTTP淨額包括Ruby的標準庫)。

+0

謝謝!!爲我節省了時間。 – Brandon

1

rest-client對此也很簡潔。

require 'rest-client' 

RestClient::Request.execute(method: :post, url: 'https://api.com/v1', 
          user: 'any_string', password: 'abc123', 
          payload: {var1: 'help', var2: 'me'} 
) 
相關問題