SORU
15 ŞUBAT 2010, PAZARTESİ


Nasıl HTTP üzerinden bir ikili dosya İndirebilirim?

Nasıl bir ikili HTTP üzerinden dosya Ruby kullanarak indir kaydedebilirim?

URL http://somedomain.net/flv/sample/sample.flv.

Windows platformu üzerinde isem ve herhangi bir dış program çalıştırmak için değil tercih ederim.

CEVAP
15 ŞUBAT 2010, PAZARTESİ


En basit şekilde platforma özgü bir çözümdür:

 #!/usr/bin/env ruby
`wget http://somedomain.net/flv/sample/sample.flv`

Muhtemelen aradığınız:

require 'net/http'
# Must be somedomain.net instead of somedomain.net/, otherwise, it will throw exception.
Net::HTTP.start("somedomain.net") do |http|
    resp = http.get("/flv/sample/sample.flv")
    open("sample.flv", "wb") do |file|
        file.write(resp.body)
    end
end
puts "Done."

Edit: Değişti. Teşekkür Ederim.

Edit2: bir dosya indirirken: part kurtaran bir çözüm

# instead of http.get
f = open('sample.flv')
begin
    http.request_get('/sample.flv') do |resp|
        resp.read_body do |segment|
            f.write(segment)
        end
    end
ensure
    f.close()
end

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • itfigueres

    itfigueres

    12 EKİM 2013
  • YouChewBu

    YouChewBu

    26 Ocak 2009