如何通过Shell命令下载Zip格式的curl历史版本?
获取curl历史版本(Zip格式)的方法
一、通过Git获取最新版本
使用git clone获取curl的最新代码:
git clone https://github.com/curl/curl.git
二、查看当前版本
进入curl目录后,通过以下命令查看版本信息:
cd curl # 查看最近的提交记录(显示前3行) git log commit def99e011e88d61a4157863537378ca9c59a79e0 (HEAD -> master, origin/master, origin/HEAD) Author: Stefan Eissing <stefan@eissing.org> Date: Mon Jun 26 11:51:43 2023 +0200 # 通过commit哈希值查看版本描述 git describe def99e011e88d61a4157863537378ca9c59a79e0 curl-8_1_2-143-gdef99e011
可以看到当前版本为curl-8_1_2-143。
三、通过浏览器下载历史版本(以8_1_1为例)
访问curl的发布页面,找到curl-8.1.1.zip并点击保存,即可获取该版本的Zip包。
四、通过Shell命令下载历史版本
如果使用带签名的临时URL(如下方示例),链接会很快过期,并非通用方案:
url="https://objects.githubusercontent.com/github-production-release-asset-2e65be/569041/b283ef2d-8e6a-478c-97c1-00ccc68a0173?X-Amz-Algorithm=\ AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230709%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230709T054141Z&X-Amz-Expires=\ 300&X-Amz-Signature=18425539998f0f6c17ac2f2a38a1e56573a7217f8bb87bf568549c43d5011a60&X-Amz-SignedHeaders=host&actor_id=512610&key_id=0&;\ repo_id=569041&response-content-disposition=attachment%3B%20filename%3Dcurl-8.1.1.zip&response-content-type=application%2Foctet-stream" wget $url -O curl.zip
通用解决方案
利用GitHub基于tag的固定下载链接,构造永久有效的URL:
# 下载curl-8.1.1版本的Zip包(wget版本) wget https://github.com/curl/curl/archive/refs/tags/curl-8_1_1.zip -O curl-8.1.1.zip # 或者使用curl命令下载 curl -o curl-8.1.1.zip https://github.com/curl/curl/archive/refs/tags/curl-8_1_1.zip
只要知道目标版本对应的tag(通常与版本号对应,如curl-8_1_1对应8.1.1版本),就能通过https://github.com/curl/curl/archive/refs/tags/[tag名称].zip格式的URL直接下载,无需依赖临时签名链接。
内容的提问来源于stack exchange,提问作者showkey
相关产品推荐
相关产品推荐

