HTTParty - 如何从用户名和密码生成授权标识

时间:2014-07-16 15:51:10

标签: ruby-on-rails curl ruby-on-rails-3.2 httparty

我在命令行上使用以下curl命令生成一个令牌ID,然后我在HTTParty代码中使用它。

curl -d "username=Yoshi.Nosaka@test.com&password=testpwd" http://upload.test.org:8026/api2/auth-token/

上面的curl命令会生成令牌ID:

6cb2997265877d4cee5467e93577fa

然后我在rails应用程序的HTTParty命令中使用令牌ID。例如:

HTTParty.get("http://upload.test.org:8026/api2/repos/", :headers => { "Authorization" => "Token 6cb2997265877d4cee5467e93577fa"}) 

我想知道如何在我的rails应用程序中使用HTTParty生成该令牌ID,而不是在命令行上执行它。

非常感谢您的所有建议。

1 个答案:

答案 0 :(得分:0)

cURL -d选项在POST上发送数据。

curl -d "username=Yoshi.Nosaka@test.com&password=testpwd" http://upload.test.org:8026/api2/auth-token/

我不知道您的应用是否处理json请求。但如果是这样,你可以使用类似上面的内容。

HTTParty.post("http://upload.test.org:8026/api2/auth-token/",
  { 
    :body => [ { "username" => "Yoshi.Nosaka@test.com", "password" => "testpwd" } ].to_json,
    :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
  })