Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl 从脚本访问/下载github文件的正式方式?_Curl_Github_Wget_Github Api - Fatal编程技术网

Curl 从脚本访问/下载github文件的正式方式?

Curl 从脚本访问/下载github文件的正式方式?,curl,github,wget,github-api,Curl,Github,Wget,Github Api,如何从github存储库中访问/下载特定文件的一个常见提示是使用rawgit,例如: curl https://rawgit.com/webmin/webmin/master/os_list.txt 这将为您提供webmin github存储库中文件的当前版本 然而,对于生产脚本来说,这样做有很大的缺点,因为如果经常使用rawgit URL,您将被阻止。这也在rawgit.com上声明: 使用此URL进行开发 您推送到GitHub的新更改将在几分钟内反映出来。 过多的流量将被限制并列入黑名单

如何从github存储库中访问/下载特定文件的一个常见提示是使用rawgit,例如:

curl https://rawgit.com/webmin/webmin/master/os_list.txt
这将为您提供webmin github存储库中文件的当前版本

然而,对于生产脚本来说,这样做有很大的缺点,因为如果经常使用rawgit URL,您将被阻止。这也在rawgit.com上声明:

使用此URL进行开发

您推送到GitHub的新更改将在几分钟内反映出来。 过多的流量将被限制并列入黑名单

我与githup支持部门联系,以便在密集开发后解锁,并得到了使用github API而不是rawgit的答案


问题:如何使用github API从github存储库检索特定文件?

回答:使用以下格式的URL

https://api.github.com/repos/:owner/:repo/contents/:path?ref=tag/commit/branch
Accept:application/vnd.github.v3.raw
头集


要从上述示例中获取
os lists.txt
文件,请使用:

curl -s -H "Accept:application/vnd.github.v3.raw" https://api.github.com/repos/webmin/webmin/contents/os_lists.txt

说明:

  • https://api.github.com/repos/
    github API的基本URL
  • :owner/:repo/
    将其替换为所有者和存储库的名称
  • :path
    将其替换为存储库中文件的路径
  • ?ref=
    可选参数,用于选择从中获取文件的分支、提交或标记。如果未指定,则从存储库默认分支获取文件
有关更多信息,请参阅:

  • 获取原始文件时,必须设置
    Accept:application/vnd.github.v3.raw
    头。如果没有此标头,您将获得JSON格式的文件信息:
{
“名称”:“os_list.txt”,
“路径”:“os_list.txt”,
“sha”:“2fa32a1860063f47c9d9ddcfe73368329cef0ba1”,
“尺寸”:31563,
“url”:”https://api.github.com/repos/webmin/webmin/contents/os_list.txt?ref=master",
“html_url”:”https://github.com/webmin/webmin/blob/master/os_list.txt",
“git_url”:https://api.github.com/repos/webmin/webmin/git/blobs/2fa32a1860063f47c9d9ddcfe73368329cef0ba1",
“下载url”:https://raw.githubusercontent.com/webmin/webmin/master/os_list.txt",
“类型”:“文件”,
“内容”:“IyBQY……”,
}
有关更多信息,请参阅:


参考资料: