Использование Shoes 'download () для базовой аутентификации HTTP - PullRequest
3 голосов
/ 11 ноября 2008

Я пытаюсь использовать метод Shoes () загрузки () для передачи имени пользователя и пароля в заголовке 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 Ответ

2 голосов
/ 11 ноября 2008

Могу ли я ответить на свой вопрос?

Это, кажется, делает трюк:

          require 'base64'

<... snip ...>

          # 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
...