Comment faire l'authentification de base sur HTTP dans Ruby?

Après avoir cherché beaucoup, j'ai trouvé des solutions qui semblent travailler, mais pas pour moi...

Par exemple, j'ai ce script:

require 'net/http'
require "net/https"

@http=Net::HTTP.new('www.xxxxxxx.net', 443)
@http.use_ssl = true
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@http.start() {|http|
    req = Net::HTTP::Get.new('/gb/PastSetupsXLS.asp?SR=31,6')
    req.basic_auth 'my_user', 'my_password'
    response = http.request(req)
    print response.body
}

Quand je le lance, il me donne une page qui demande pour l'authentification, mais si j'écris l'URL suivante dans le navigateur, j'entre dans le site sans problèmes:

https://my_user:[email protected]/gb/PastSetupsXLS.asp?SR=31,6

J'ai aussi essayé avec open-uri:

module OpenSSL
    module SSL
        remove_const :VERIFY_PEER
    end
end
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

def download(full_url, to_here)
    writeOut = open(to_here, "wb") 
    writeOut.write(open(full_url, :http_basic_authentication=>["my_user", "my_password"]).read) 
    writeOut.close 
end

download('https://www.xxxxxxx.net/gb/PastSetupsXLS.asp?SR=31,6', "target_file.html")

Mais le résultat est le même, le site est en demande d'authentification de l'utilisateur.
Des conseils de ce que je fais mal?. Dois-je encoder le mot de passe en Base 64?

source d'informationauteur Eduardo Yáñez Parareda