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

GitHub Enterprise批量下载资产遇异常:curl请求返回406或仅得元数据

解决 curl 访问仓库资产下载链接返回 406 的问题

核心原因

HTTP 406 错误意味着服务器无法生成匹配请求头 Accept 指定格式的响应。浏览器会自动发送适配的 Accept 头,而 curl 默认的头字段范围较窄,可能不匹配资产实际类型;同时直接访问下载链接时,必须显式带上认证信息(即便你的 token 已有 repo 权限)。

具体解决步骤

  • 设置兼容的 Accept 头:在 curl 命令中添加 -H "Accept: */*",允许服务器返回任意格式内容,覆盖 curl 默认的窄范围 Accept 设置。
  • 传递认证信息:直接访问 browser_download_url 时,通过请求头携带 token,添加 -H "Authorization: token YOUR_REPO_TOKEN"。
  • 跟随重定向:部分仓库的下载链接会触发跳转,加上 -L 参数让 curl 自动跟随重定向(浏览器默认会处理跳转)。
  • 正确保存文件:用 -O 参数让 curl 自动使用 URL 中的文件名保存资产,或用 -o 自定义文件名 指定保存路径。

完整命令示例

curl -L -H "Authorization: token YOUR_REPO_TOKEN" -H "Accept: */*" -O "YOUR_BROWSER_DOWNLOAD_URL"

额外排查点

  • 确认 token 权限:检查 token 是否包含完整的 repo 权限(涵盖 repo:status、repo_deployment、私有仓库访问权限等)。
  • 匹配具体 MIME 类型:如果明确资产类型,可将 Accept 头设为更精准的值,比如二进制文件用 Accept: application/octet-stream,压缩包用 Accept: application/zip,稳定性会更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:54:52