HTTP dowloading help

I wonder if any http experts out there can save me some time…

I currently download files using http with…

def http(server,dir,file)
repeat(server,dir,file) { |localFile|
http = Net::HTTP.new(server)
File.open(localFile,“w”) { |dest| http.get(path(dir,file),nil,dest) }
}
end

…which works great for simple links, but fails miserably with more complicated stuff; eg sourceforge.

Anybody got a small bit of code that will handle more complicated stuff?

I could work it out, but my head is already too full and I’ve avoided touching html so far…

TIA Andrew