我是 github 上一个拥有私有(private)存储库的组织的成员。 我正在尝试与其中一个云服务 api 集成,在其中一个 API 中,我需要提供这些私有(private)存储库之一的源代码 (tar.gz) 的 URL。 这在公共(public)存储库的情况下正常工作,但我也想让它在私有(private)存储库中工作。
我知道这个问题是因为身份验证。有什么方法可以在 HTTPS url 本身中发送身份验证信息吗?
有点像
https://username:password@github.com/Organisation/RepoName/archive/master.tar.gz
我已经看到许多描述如何通过 CURL 请求实现这一点的 SO 问题,CURL 不是我的选择。我希望能够将 URL 作为字符串发送到 API,以便服务可以使用 URL 下载
编辑 附加信息:
我在问题中谈到的外部服务是heroku。我使用 heroku api 从我的一个脚本中的 heroku 创建一个应用程序 如链接中所述,我需要在 source_blob 字段中发送一个 HTTPS url。这是我正在尝试将 url 发送到我所属的私有(private) Repo 的 tarball
最佳答案
如果你需要一个“简单”的 URL 来抓取而不需要它来进行身份验证,你可以用你想要的任何语言创建一个代理,它将在 GitHub 上验证你自己(例如使用 CURL),并转发下载的文件给客户。
回答
I am aware that issue is because of the authentication. Is there any way of sending the authentication information in the HTTPS url itself?
不,这不是 HTTP(s) URL 设计的初衷。
关于git - 从 github 私有(private)存储库下载源代码的 http 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959927/