the*_*onk 9 .net c# authentication https github
我看到GitHub仓库的下载路径是表格
https://github.com/{username}/{reponame}/archive/{branchname}.zip
Run Code Online (Sandbox Code Playgroud)
对于私人仓库,可以理解的是,您需要提供凭据才能下载仓库,任何人都可以提供有关如何提供HTTPS基本身份验证的C#示例,以便我可以通过编程方式下载仓库吗?
谢谢,
这是一个纯粹的C#方式:
var githubToken = "[token]";
var url = "https://github.com/[username]/[repository]/archive/[sha1|tag].zip";
var path = @"[local path]";
using (var client = new System.Net.Http.HttpClient())
{
var credentials = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}:", githubToken);
credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(credentials));
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials);
var contents = client.GetByteArrayAsync(url).Result;
System.IO.File.WriteAllBytes(path, contents);
}
Run Code Online (Sandbox Code Playgroud)
与卷曲:
curl -L -F "login=$USER" -F "token=$TOKEN" https://github.com/$USER/$REPO/$PKGTYPE/$BRANCHorTAG
Run Code Online (Sandbox Code Playgroud)
其中 $TOKEN 是您的 github 配置文件上的 API 令牌,而不是用于与 APIv3 通信的 oAuth2 令牌。
$USER 是令牌所连接的用户帐户,不一定是存储库所属的组织/其他用户。$USER 的第二个实例是存储库所在的用户/帐户。
$REPO 是私有存储库的名称
$PKGTYPE 是 tarball 或 zipball,$BRANCHorTAG 是分支(例如 master)或提交的标签名称。
$USER 的第一个实例必须有权访问属于 $USER 的第二个实例的存储库。
我在任何地方都找不到这个文档,所以如果你想要更详细的内容,我也写了一些关于它的文章。
| 归档时间: |
|
| 查看次数: |
5385 次 |
| 最近记录: |