Pregunta

El uso de Mechanize con Ruby consigo un determinado archivo usando agent.get('http://example.com/foo.torrent'), con FileUtils o de otra manera, ¿cómo puedo guardar el archivo en el disco duro (por ejemplo, en un directorio de donde se ejecuta el script)?

P.S. class => WWW::Mechanize::File

¿Fue útil?

Solución

Bueno, WWW::Mechanize::File tiene un método de instancia save_as, así que supongo que algo como esto podría funcionar:

agent.get('http://example.com/foo.torrent').save_as 'a_file_name'

Otros consejos

Tenga en cuenta que la clase Mechanize::File no es el más adecuado para archivos de gran tamaño. En esos casos, se debe utilizar la clase Mechanize::Download lugar, ya que descarga el contenido en pequeños trozos en el disco. El archivo se descargará en donde se está ejecutando la secuencia de comandos (aunque se puede especificar una ruta diferente también). Es necesario configurar el analizador por defecto en primer lugar, crear uno nuevo o modificar un programa de análisis existentes. A continuación, guardarlo en la trayectoria deseada:

agent.pluggable_parser.default = Mechanize::Download
agent.get( "http://example.com/foo.torrent}").save("path/to/a_file_name")

aquí y aquí para más detalles. Además, hay una pregunta similar aquí en Stackoverflow.

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