2008-11-11 10 views
3

J'essaie d'utiliser la méthode de téléchargement de Shoes() pour transmettre un nom d'utilisateur et un mot de passe dans l'en-tête HTTP pour authentifier la requête HTTP (parler à une application Rails).Utiliser le téléchargement de chaussures() pour faire l'authentification HTTP de base

Je suis un peu novice quand il s'agit de ce genre de choses. Je n'avais pas vraiment compris si je devais être automatiquement capable d'utiliser la syntaxe ci-dessous (nom d'utilisateur: pwd @) ou si le nom d'utilisateur et mot de passe doivent être créés manuellement dans l'en-tête HTTP (que je pense pouvoir accéder en utilisant : en-têtes de la méthode de téléchargement).

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

Toute aide serait appréciée

Répondre

2

Puis-je répondre à ma question?

Cela semble faire l'affaire:

  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 
+0

Je crois que vous pouvez répondre à votre question, mais il a besoin d'un certain nombre de upvotes avant vous pouvez le sélectionner. Il y a aussi un lot pour répondre aux vôtres. Bravo! – mwilliams

+0

A voté vers le bas sur votre demande. –

+0

Voter sauvegarder, puisque cela fonctionne dans les chaussures (les deux chaussures 2 et le dernier code). Vérifié sur Windows XP. Voici la réponse de _why à la question de @blog: http://thread.gmane.org/gmane.comp.lib.shoes/2455/focus=2456. – atomicules