我可以使用下面的命令克隆带有用户名和密码的私人存储库
git clone https://some-git-lab-token:someHash@git.xxx.com/foo/bar.git
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以使用相同的凭据从同一存储库curl获取wget单个原始文件some-git-lab-token:someHash
示例 gitlab 原始文件 url 如下
https://gitlab.com/athos.oc/lodash-has-plugin/-/raw/master/.eslintrc.json
Run Code Online (Sandbox Code Playgroud)
我尝试如下卷曲单个文件但失败
curl https://some-git-lab-token:someHash@git.xxx.com/foo/bar/-/raw/master/testing.js
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下
<html><body>You are being <a href="https://git.xxx.com/users/sign_in">redirected</a>.</body></html>
Run Code Online (Sandbox Code Playgroud)
Art*_*han 15
要通过curl下载存储库文件,您需要使用存储库文件API端点。
使用你的例子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 身份验证不包括用户名和密码作为可用的身份验证方法,因此您需要使用令牌(或会话 cookie)。