gpt4 book ai didi

ruby - 从 GET 请求中读取 zip 文件而不先在 Ruby 中保存?

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

我正在尝试从 HTTP GET 请求中读取 zip 文件。一种方法是通过先将响应体保存到一个物理文件中,然后读取zip 文件以读取 zip 中的文件。

有没有办法不用保存直接读取里面的文件先将 zip 文件转换为物理文件?

我当前的代码:

Net::HTTP.start("clinicaltrials.gov") do |http|
resp = http.get("/ct2/results/download?id=15002A")
open("C:\\search_result.zip", "wb") do |file|
file.write(resp.body)
end
end

Zip::ZipFile.open("C:\\search_result.zip") do |zipfile|
xml = zipfile.file.read("search_result.xml")
end

最佳答案

看起来您正在使用 rubyzip ,无法从内存缓冲区中解压缩。

您可能想看看使用 Chilkat's Ruby Zip Library相反,因为它支持 zip 数据的内存处理。它声称能够“创建或打开内存中的 Zip”,尽管我自己没有使用该库的经验。然而,Chilkat 的图书馆不是免费的,所以这可能是一个考虑因素。不确定是否有具有此功能的免费图书馆。

关于ruby - 从 GET 请求中读取 zip 文件而不先在 Ruby 中保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1095153/

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