将 Mechanize 与 Ruby 一起使用,我使用 FileUtils 或其他方式获取某个文件agent.get('http://example.com/foo.torrent')
,如何将此文件保存到我的硬盘驱动器(例如,在运行脚本的目录中)?
附言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
该类,因为它将小块的内容下载到磁盘。该文件将被下载到脚本运行的位置(尽管您也可以指定不同的路径)。您需要首先设置默认解析器,创建新解析器或修改现有解析器。然后,将其保存到所需的路径:
agent.pluggable_parser.default = Mechanize::Download
agent.get( "http://example.com/foo.torrent}").save("path/to/a_file_name")