【发布时间】:2015-11-20 07:41:48
【问题描述】:
需要从 C# 中的给定链接下载 zipball
是的!我搜索了网络和 stackoverflow,并试图完成这个看似不可能的任务好几个小时......
具有讽刺意味的是,在 Curl 中它是单行的,并且像魅力一样工作..
curl -L https://api.github.com/repos/username/reponame/zipball > repo.zip
我想在 C# 中做同样的事情 curl 在上面做...
试过WebClient.DownloadFile()
给了
禁止 (403)
也尝试过异步方法 给了
0 再见文件(无错误/异常)
尝试了 HttpClient 数据下载和文件流写入器,给出与上述相同的错误。像 streamwirter 这样的接缝根本没有被调用,所以它无法访问服务器,这是我问题的主要部分
我安装了 Octokit.NET,但它缺少文档,所以我什至不知道从哪里开始这样做(可能是 WebClient 版本,但我确实在 .NET 库中尝试过)
找到了这个答案,但不是很明白 (Cannot get repository contents as .zip file (zipball) in Octokit.net)
甚至尝试在 C# 中运行 .sh 脚本,但它给了我一个例外,即它无法在此操作系统上运行这种 shell
【问题讨论】:
-
以后,请展示您尝试过的代码,最好是简短而完整的程序。例如,我想我知道为什么异步版本可能以 0 字节文件结束,但如果没有看到您的代码,我无法确定。
标签: c# github-api webclient-download