Domanda

Uso Mechanize con Ruby ottengo un certo file utilizzando agent.get('http://example.com/foo.torrent'), con fileutils o in altro modo, come faccio a salvare il file sul mio hard disk (per esempio, in una directory da cui lo script è in esecuzione)?

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

È stato utile?

Soluzione

Bene, WWW::Mechanize::File ha un metodo di istanza save_as, quindi suppongo qualcosa di simile potrebbe funzionare:

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

Altri suggerimenti

Si prega di notare che la classe Mechanize::File non è il più appropriato per file di grandi dimensioni. In questi casi, si dovrebbe utilizzare la classe Mechanize::Download invece, come si scarica il contenuto in piccoli pezzi su disco. Il file verrà scaricato in cui lo script è in esecuzione (anche se è possibile specificare un percorso diverso pure). È necessario impostare il parser di default prima, crearne uno nuovo o modificare un parser esistente. Poi, salvarlo nel percorso desiderato:

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

qui e qui per maggiori dettagli. Inoltre, c'è una domanda simile qui in StackOverflow.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top