如何在Rails应用程序中使用httparty进行基本身份验证?

Dr.*_*Bob 67 ruby httparty ruby-on-rails-3

具有基本身份验证的命令行版本"httparty"工作简单而且很棒:

httparty -u username:password http://example.com/api/url
Run Code Online (Sandbox Code Playgroud)

但现在我正在寻找可以在Rails应用程序中将基本身份验证添加到HTTParty.get调用的方式.首先,出于测试目的,我想在Controller中硬编码登录凭据.只是为了确保它有效.但我找不到任何文档或示例如何传递这些.

没有凭据的HTTParty.get工作正常:

@blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json")
Run Code Online (Sandbox Code Playgroud)

但我不明白我如何能够接受-u用户名:密码部分.

对我来说,下一个挑战(对于Ruby/Rails来说是一个新手)是从用户表单获取用户凭据并动态传递它,但现在最重要的是让硬编码版本工作.

Vas*_*ich 141

auth = {:username => "test", :password => "test"}
@blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json", 
                     :basic_auth => auth)
Run Code Online (Sandbox Code Playgroud)

  • 并且`auth = {username:"test",密码:"test"}`与Ruby 1.9一样好用. (4认同)
  • 我从这个例子中得到了它https://github.com/jnunemaker/httparty/blob/master/examples/twitter.rb (2认同)
  • @Vasiliy Ermolovich它不适用于String basic auth例如`auth ="testuser:password"`,我们如何让它以这种方式工作? (2认同)
  • 你也可以这样做:http://www.rubydoc.info/github/jnunemaker/httparty/HTTParty%2FClassMethods%3Abasic_auth (2认同)