使用FileUtils将WWW :: Mechanize :: File保存到磁盘

使用Mechanize with Ruby我使用agent.get('http://example.com/foo.torrent')获取某个文件,使用agent.get('http://example.com/foo.torrent')或其他方式,如何将此文件保存到我的硬盘驱动器中(例如,在脚本运行的目录)?

PS class => WWW::Mechanize::File

好吧, WWW::Mechanize::File有一个save_as实例方法,所以我想这样的东西可能会起作用:

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

请注意, Mechanize::File类不适合大文件。 在这些情况下,应该使用Mechanize::Download类,因为它将内容以小块的forms下载到磁盘。 该文件将下载到运行脚本的位置(尽管您也可以指定其他路径)。 您需要先设置默认解析器,创建一个新解析器或修改现有解析器。 然后,将其保存到所需的路径:

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

点击此处和此处了解更多详情。 此外,Stackoverflow中也有类似的问题。