Progromatic download of rpm file

not sure why neither of these ways to download an rpm from ruby don't
work, but
if I use a web broswer on the same url there's no problem ..

···

-------------------------------

require 'net/http'

Net::HTTP.start("apt.sw.be") { |http|
  resp = http.get("/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-
release-0.3.6-1.el5.rf.x86_64.rpm")
  open("postgis.rpm", "wb") { |file|
    file.write(resp.body)
   }
}

open('http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-
release-0.3.6-1.el5.rf.x86_64.rpm')

This worked for me:

require 'open-uri'

URL = "http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"
File.open("result.rpm", "wb") do |out|
  out.write open(URL) {|in_file| in_file.read}
end

result.rpm ends up being a binary file of 16697 bytes.

Jesus.

···

On Wed, Oct 6, 2010 at 6:45 PM, Jedrin <jrubiando@gmail.com> wrote:

not sure why neither of these ways to download an rpm from ruby don't
work, but
if I use a web broswer on the same url there's no problem ..

-------------------------------

require 'net/http'

Net::HTTP.start("apt.sw.be") { |http|
resp = http.get("/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-
release-0.3.6-1.el5.rf.x86_64.rpm")
open("postgis.rpm", "wb") { |file|
file.write(resp.body)
}
}

open('http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-
release-0.3.6-1.el5.rf.x86_64.rpm')