Speichern WWW :: Mechanize :: Datei auf die Festplatte mit FileUtils
Frage
Mit Mechanize Ruby ich eine bestimmte Datei agent.get('http://example.com/foo.torrent')
verwenden, mit FileUtils oder auf andere Weise, wie speichere ich diese Datei auf meine Festplatte (zum Beispiel in einem Verzeichnis von dem das Skript ausgeführt wird)?
P. S. class => WWW::Mechanize::File
Lösung
Nun, hat WWW::Mechanize::File
eine save_as
Instanz-Methode, also nehme ich an so etwas wie dies funktionieren könnte:
agent.get('http://example.com/foo.torrent').save_as 'a_file_name'
Andere Tipps
Bitte beachten Sie, dass die Mechanize::File
Klasse ist nicht die am besten geeignet für große Dateien. In diesen Fällen sollte man die Mechanize::Download
Klasse verwenden, anstatt, da es den Inhalt in kleinen Stücken auf der Festplatte herunterlädt. Die Datei wird heruntergeladen werden, in dem das Skript ausgeführt wird (obwohl man auch einen anderen Pfad angeben). Sie müssen zunächst die Standard-Parser setzen, einen neuen erstellen oder einen vorhandenen Parser ändern. Dann geht es auf den gewünschten Pfad speichern:
agent.pluggable_parser.default = Mechanize::Download
agent.get( "http://example.com/foo.torrent}").save("path/to/a_file_name")
Überprüfen Sie hier und hier für weitere Details. Außerdem gibt es eine ähnliche Frage hier in Stackoverflow.