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

如何通过命令行下载GitHub Issue的附件?

如何通过命令行下载GitHub Issue的附件?

嘿,我来帮你搞定这个问题!你遇到的是组织内仓库Issue附件的认证障碍,直接用curl -u或者普通wget确实会踩坑,下面给你几个亲测有效的解决办法:

首先先确认前提:你的GitHub个人访问令牌(PAT)必须开启repo权限,不然就算命令写对了也没权限访问组织内的私有仓库内容。

方法一:用curl带认证头下载

把你的PAT放到请求头里,这是GitHub现在最推荐的认证方式,比-u更可靠:

# 替换成你的PAT和目标文件URL
curl -H "Authorization: token YOUR_GITHUB_PAT" -O "https://github.com/<org>/<repo>/files/<number>/<file>"

这里的-O参数会让curl把文件保存成原文件名,不用手动指定。

方法二:用wget实现同样效果

wget需要用--header参数传递认证信息,写法如下:

wget --header="Authorization: token YOUR_GITHUB_PAT" "https://github.com/<org>/<repo>/files/<number>/<file>"

如果你想用R来下载

用httr包可以轻松实现,代码示例如下:

library(httr)

# 替换成你的目标URL和PAT
target_url <- "https://github.com/<org>/<repo>/files/<number>/<file>"
github_token <- "YOUR_GITHUB_PAT"

# 发送带认证的请求并保存文件
response <- GET(target_url, add_headers(Authorization = paste("token", github_token)))
writeBin(content(response, "raw"), basename(target_url))

额外安全提醒

千万不要把你的PAT直接硬写到脚本里!建议用环境变量来存储,比如在命令行里先执行:

export GITHUB_TOKEN="你的令牌内容"

之后curl/wget里就可以用$GITHUB_TOKEN代替明文令牌,比如:

curl -H "Authorization: token $GITHUB_TOKEN" -O "目标URL"

备注:内容来源于stack exchange,提问作者jiraffe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:20:28