Descargar ZipFile a través de Curl a un archivo zip real en la estructura de su archivo

StackOverflow https://stackoverflow.com/questions/5383143

  •  28-10-2019
  •  | 
  •  

Pregunta

Estoy tratando de construir un descargador de archivos con el bordillo Rubygem. (Mirar Esta pregunta.)

Estoy tratando de descargar un archivo zip y luego con el archivo de clase, estoy tratando de hacer el archivo para poder hacerle doble clic en Finder (estoy en OS X). ¿Cómo iría a convertir este cuerpo "curl'ed" en una tirolesa?

require 'rubygems'
require 'curb'

class Download
  def start
    curl = Curl::Easy.new('http://wordpress.org/latest.zip')
    curl.perform
    curl.on_body {
      |d| f = File.new('test.zip', 'w') {|f| f.write d}
    }
  end
end

dl = Download.new
dl.start

No recibo ningún error, tampoco puedo encontrar ningún archivo. He probado caminos absolutos sin diferencia.

¿Fue útil?

Solución

Estás agregando el on_body evento después de llamar perform, que transfiere el cuerpo. Si mueve la declaración del evento a antes del perform Llame, esto debería funcionar.

Otros consejos

Estoy usando Ruby 2.0

Y mi código es:

curl = Curl::Easy.new('http://somepage.cz/index.html')
curl.on_body do |d|
  f = File.open('output_file.html', 'w') {|f| f.write(d)}
end
curl.perform

Tuve que cambiar File.new a File.open Sin esto no funcionó. Moviente curl.perfom Al final me ayudó.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top