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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top