gpt4 book ai didi

ruby - 如何使用 ruby​​ 和 mechanize 使用其生成的文件名下载文件?

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:00 26 4
gpt4 key购买 nike

我正在尝试从使用 CDN 进行分发的网站下载文件。下载页面上的 URL 都以 file.pdf 结尾,但在浏览器中单击链接会导致下载具有描述性文件名的文件(例如“invoice1234.pdf”)。显然,解析 URL 以获取文件名会导致每个文件都被命名为 file.pdf - 我想使用通过浏览器下载时使用的相同文件名。我的代码看起来像这样:

  filename = File.basename(download.href)
agent.pluggable_parser.default = Mechanize::Download
agent.get(mov_download_link.href).save("#{path}/#{filename}")
agent.pluggable_parser.default = Mechanize::File

如有任何想法,我们将不胜感激!

最佳答案

该文件名可能位于如下所示的 header 中:

{'content-disposition' => 'filename="invoice1234.pdf"'}

如果是:

f = agent.get(mov_download_link.href)
filename = f.header['content-disposition'][/"(.*)"/, 1]
f.save("#{path}/#{filename}")

关于ruby - 如何使用 ruby​​ 和 mechanize 使用其生成的文件名下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13813337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com