Question for http experts

I have to type
http://username:password@www.some.url/downloads/file
into a browser to download a file. How can I do this with the net/http module
in ruby?

I have tried:

require 'net/http'
h = Net::HTTP.new('username:password@www.some.url')
h.get('/downloads/file',nil,'destfile')

Which works fine for files without the username:password@ part, but here gives

SocketError: getaddrinfo: Name or service not known

I am totally html ignorant, so any suggestions greatly apprieciated!

Andrew Walrond

Hi,

I have to type
http://username:password@www.some.url/downloads/file
into a browser to download a file. How can I do this with the net/http module
in ruby?

There’s - I suspect - a more elegant way to do this, but here’s
what I use:

require ‘net/http’
require ‘base64’

user_pass = “username:password”
auth_header = { ‘Authorization’ => 'Basic '+encode64(user_pass).chop }

http = Net::HTTP.new(‘www.some.host’)
resp, data = http.get(“/some_page.html”, auth_header)

Hope this helps,

Bill

···

From: “Andrew Walrond” andrew@walrond.org

Hi Bill

···

On Saturday 25 Oct 2003 9:51 pm, Bill Kelly wrote:

Hope this helps,

It certainly did; works perfectly!

Many thanks

Andrew