gpt4 book ai didi

ruby - 通过 Net::HTTP 下载 zip 文件

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:51 26 4
gpt4 key购买 nike

我正在尝试从 WordPress.org 下载最新的 .zip使用网络::HTTP。这是我到目前为止所得到的:

Net::HTTP.start("wordpress.org/") { |http|
resp = http.get("latest.zip")
open("a.zip", "wb") { |file|
file.write(resp.body)
}
puts "WordPress downloaded"
}

但这只会给我一个 4 KB 的 404 错误 HTML 页面(如果我将文件更改为 a.txt)。我认为这与 URL 可能以某种方式重定向有关,但我不知道我在做什么。我是 Ruby 的新手。

最佳答案

我的第一个问题是为什么要使用 Net::HTTP 或代码来下载一些可以使用 curl 或 wget 更容易完成的代码,它们旨在简化文件下载?

但是,既然您想使用代码下载东西,我建议您查看 Open-URI如果你想跟随重定向。它是 Ruby 的标准库,对于快速 HTTP/FTP 访问页面和文件非常有用:

require 'open-uri'

open('latest.zip', 'wb') do |fo|
fo.print open('http://wordpress.org/latest.zip').read
end

我只是运行它,等待它完成几秒钟,对下载的文件“latest.zip”运行解压缩,它扩展到包含其内容的目录。

除了 Open-URI 之外,还有 HTTPClient 和 Typhoeus 等,它们使打开 HTTP 连接和发送查询器/接收数据变得容易。它们非常强大,值得了解。

关于ruby - 通过 Net::HTTP 下载 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386159/

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