如何使用用户名和密码从私人 gitlab 仓库下载单个原始文件
How to download single raw file from private gitlab repo using username and password
我可以使用下面的命令克隆一个带有用户名和密码的私人仓库
git clone https://some-git-lab-token:someHash@git.xxx.com/foo/bar.git
我想知道是否可以 curl
或 wget
使用相同凭据的同一存储库中的单个原始文件 some-git-lab-token:someHash
示例 gitlab 原始文件 url 如下
https://gitlab.com/athos.oc/lodash-has-plugin/-/raw/master/.eslintrc.json
我试过如下 curl 单个文件但失败了
curl https://some-git-lab-token:someHash@git.xxx.com/foo/bar/-/raw/master/testing.js
我得到的结果如下
<html><body>You are being <a href="https://git.xxx.com/users/sign_in">redirected</a>.</body></html>
要通过 curl 下载存储库文件,您需要使用 repository files API endpoint。
使用您的示例 https://gitlab.com/athos.oc/lodash-has-plugin/-/raw/master/.eslintrc.json
,将变成:
https://gitlab.com/api/v4/projects/30349314/repository/files/%2Eeslintrc%2Ejson/raw?ref=master
但是,API authentication 不包括用户名和密码作为可用的身份验证方法,因此您需要使用令牌(或会话 cookie)。
我可以使用下面的命令克隆一个带有用户名和密码的私人仓库
git clone https://some-git-lab-token:someHash@git.xxx.com/foo/bar.git
我想知道是否可以 curl
或 wget
使用相同凭据的同一存储库中的单个原始文件 some-git-lab-token:someHash
示例 gitlab 原始文件 url 如下
https://gitlab.com/athos.oc/lodash-has-plugin/-/raw/master/.eslintrc.json
我试过如下 curl 单个文件但失败了
curl https://some-git-lab-token:someHash@git.xxx.com/foo/bar/-/raw/master/testing.js
我得到的结果如下
<html><body>You are being <a href="https://git.xxx.com/users/sign_in">redirected</a>.</body></html>
要通过 curl 下载存储库文件,您需要使用 repository files API endpoint。
使用您的示例 https://gitlab.com/athos.oc/lodash-has-plugin/-/raw/master/.eslintrc.json
,将变成:
https://gitlab.com/api/v4/projects/30349314/repository/files/%2Eeslintrc%2Ejson/raw?ref=master
但是,API authentication 不包括用户名和密码作为可用的身份验证方法,因此您需要使用令牌(或会话 cookie)。