Использование функции Download () для выполнения базовой HTTP-аутентификации

Я пытаюсь использовать метод download () Shoes для передачи имени пользователя и пароля в заголовке HTTP для аутентификации HTTP-запроса (общение с приложением Rails).

Я немного новичок в этом деле.

Я не совсем понял, должен ли я автоматически использовать приведенный ниже синтаксис (имя пользователя: pwd @) или имя пользователя и пароль должны создаваться вручную внутри заголовка HTTP (к которому, как мне кажется, я также могу получить доступ, используя: заголовки способ загрузки).

download "http://username:[email protected]:3000/authenticate", :method => "POST" do |result| 
     # process result.response.body here
end

Любая помощь будет оценена


person Etienne    schedule 11.11.2008    source источник


Ответы (1)


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

Кажется, это помогает:

          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
person Etienne    schedule 11.11.2008
comment
Я считаю, что вы можете ответить на свой вопрос, но для его выбора требуется определенное количество голосов. Также есть пакет для ответа на свой вопрос. Браво! - person mwilliams; 11.11.2008
comment
Голосование поддерживается, так как это работает в Shoes (как Shoes 2, так и последний код). Проверено на Windows XP. Вот _почему ответ на вопрос @blog: thread.gmane .org / gmane.comp.lib.shoes / 2455 / focus = 2456. - person atomicules; 18.01.2010