从私人 Github Issues 下载文件(而不是从存储库!)

问题描述 投票:0回答:1

我正在尝试下载私有存储库的 Github 问题中引用的文件(上传到问题的文件,而不是存储库中的文件!)。

公共存储库不存在这个问题:可以直接下载文件。

当我在浏览器中执行此操作时(通过其 URL) 它有效(因为浏览器已经通过身份验证),但是当我尝试使用

curl
执行此操作时,我收到
Not found
错误。

curl https://github.com/myorg/myrep/files/15202661/00061628.pdf --header 'Authorization: token ...'

Github API 交互效果很好:

curl https://api.github.com/user --header 'Authorization: token ...

显然,问题在于身份验证,适用于 https://api.github.com 的身份验证方法无法用于 https://github.com/

目前,我正在进行基于 cookie 的身份验证,一切正常:

$ curl https://github.com/myorg/myrep/files/15202661/00061628.pdf --cookie 'cookie_name=cookie_value' -L -o 00061628.pdf
(works fine)

但这有点hacky,所以我正在寻找真正的解决方案。

community.github.com 和 GitHub 上有大量问题和票证描述了这个问题,但到目前为止我还没有找到任何合理的答案。

也许你们中的一些人有解决方案?

github curl token
1个回答
-1
投票

这与 HTTP 请求标头无关。在 GitHub 上,真正的文件链接并不是我们在浏览器中看到的文件链接。

https://github.com/mozilla/pdf.js/blob/master/examples/learning/helloworld.pdf 为例,

curl
这个链接会返回状态码 302 并且什么也不输出,只需添加
 -L
按照重定向即可成功下载。

curl -L https://github.com/mozilla/pdf.js/blob/master/examples/learning/helloworld.pdf
© www.soinside.com 2019 - 2024. All rights reserved.