使用 curl 正确下载 GitHub 文件

使用 curl 正确下载 GitHub 文件

使用 curl 下载文件并保留其原始名称,最简单的语法是:

curl -O URL

这条命令在多数情况下都很好用。然而,当从 GitHub 或 SourceForge 这类网站下载文件时,你可能会遇到问题:下载的文件并非你想要的那个。这通常是因为 URL 发生了重定向,指向了真正的下载地址。

正确的下载方式:处理重定向

为了解决这个问题,你需要告诉 curl 跟随重定向,并使用服务器提供的文件名。只需组合使用以下几个选项即可:

curl -JLO URL

💡 提示:这些选项的顺序可以任意排列。

下面是这些选项的详细说明(基于 curl 的手册页):

  • -L (--location):如果服务器返回重定向响应(如 301 或 302),curl 会自动跳转到新的地址继续请求。这是解决问题的关键。
  • -J (--remote-header-name):让 curl 使用服务器在 Content-Disposition 头中指定的文件名,而不是从 URL 中提取。这对于获取正确的文件名(例如 v1.2.3.tar.gz)至关重要。
  • -O (--remote-name):将下载的文件保存到本地,并使用远程文件的名称。

使用 curl 正确下载 GitHub 文件
https://github.com/2026/05/27/使用 curl 正确下载 GitHub 文件/
作者
nafeuy
发布于
2026年5月27日
许可协议