使用Shoes的download()进行基本的HTTP身份验证

时间:2008-11-11 04:41:03

标签: ruby shoes

我正在尝试使用Shoes的download()方法在HTTP标头中传递用户名和密码来验证HTTP请求(与Rails应用程序通信)。

对于这些东西,我有点像新手。

我不太清楚我是否应该能够自动使用以下语法(用户名:pwd @),或者是否应该在HTTP标头内手动创建用户名和密码(我认为我也可以使用以下方法访问:下载方法的标题)。

download "http://username:pwd@127.0.0.1:3000/authenticate", :method => "POST" do |result| 
     # process result.response.body here
end

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

我可以回答我自己的问题吗?

这似乎可以解决问题:

          require 'base64'

< ...剪断...>

          # create the headers
          headers = {}
          headers['Authorization'] = 'Basic ' + encode64("#{@login.text()}:#{@pword.text()}").chop

          # run the download
          download "#{$SITE_URL}/do_something", :method => "GET", :headers => headers do |result|
            @status.text = "The result is #{result.response.body}" 
          end