You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取GitHub仓库中所有文件的download_url?

获取GitHub仓库所有文件的download_url的方法

方法一:手动拼接固定格式的download_url

GitHub的文件raw下载链接(即download_url)有统一格式,你可以用递归tree接口拿到所有文件路径后直接拼接:

  1. 首先执行递归tree命令获取所有文件的路径(注意修改Accept头为application/vnd.github.v3.json,确保返回可解析的JSON结构):
curl -H "Authorization: token ghp_..." -H "Accept: application/vnd.github.v3.json" -L "https://api.github.com/repos/<USER>/<REPO>/git/trees/main?recursive=1"
  1. 从返回结果中筛选出type为blob的条目,提取它们的path字段。
  2. 按照以下格式拼接download_url:
https://raw.githubusercontent.com/<USER>/<REPO>/<BRANCH>/<FILE_PATH>

比如文件路径是src/utils.js,分支是main,那么download_url就是:
https://raw.githubusercontent.com/<USER>/<REPO>/main/src/utils.js

方法二:通过Contents API批量请求单个文件的download_url

如果需要保留GitHub API返回的文件元数据(比如大小、SHA值),可以先拿到所有文件路径,再逐个调用Contents接口:

  1. 同样先执行递归tree命令获取所有文件路径(步骤同方法一)。
  2. 对每个文件路径<FILE_PATH>,执行以下命令获取包含download_url的详细信息:
curl -H "Authorization: token ghp_..." -H "Accept: application/vnd.github.v3.json" -L "https://api.github.com/repos/<USER>/<REPO>/contents/<FILE_PATH>?ref=main"

返回的JSON结构中直接包含download_url字段。

注意:此方法如果仓库文件数量较多,需要留意GitHub API的速率限制,避免触发请求限制。

内容的提问来源于stack exchange,提问作者Jabu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:46:10