使用curl,如何从github上的私有存储库下载.diff文件

使用curl,如何从github上的私有存储库下载.diff文件,curl,github,Curl,Github,我在github上有一个私人回购协议,属于一个组织。对于给定的拉取请求,有一个指向diff文件的url,如下所示: https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff https://github.com///pull/.diff 但是repo是私有的,那么我如何用curl下载这个文件呢?我生成了一个“个人访问令牌”,但对于如何使用它,我有点不知所措 我试过这个: curl -H 'Authoriza

我在github上有一个私人回购协议,属于一个组织。对于给定的拉取请求,有一个指向diff文件的url,如下所示:

https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff
https://github.com///pull/.diff
但是repo是私有的,那么我如何用curl下载这个文件呢?我生成了一个“个人访问令牌”,但对于如何使用它,我有点不知所措

我试过这个:

curl -H 'Authorization: token <TOKEN>' -H 'Accept: application/vnd.github.v3.raw' -O -L "https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"
curl-H'Authorization:token'-H'Accept:application/vnd.github.v3.raw'-O-L“https://github.com///pull/.diff"
但是返回的所有内容都是“未找到的”。

对于所有未经授权的请求,返回404——主要是为了隐藏请求URL中是否存在用户/组织数据。所以你得到的404实际上可能是401

当通过curl向GH api发送请求时,您应该使用
u
选项发送您的令牌,而不是
授权
头,从而产生以下请求:

curl-u:\
-H'Accept:application/vnd.github.v3.raw'-O-L\

"https://github.com///pull/.diff“

您可以将api.github.com中的请求url与不同的接受内容类型一起使用。e、 g

curl -H 'Authorization: token mytoken' -H "Accept: application/vnd.github.v3.diff" https://api.github.com/repos/orgname/repo/pulls/1234

注意:请从url中删除“.diff”后缀。

我仍然无法找到un/pw或un/token组合。@polytopia找到解决方案了吗?我总是得到一个404,甚至发送了正确的授权头。我在两种情况下都得到了重定向。非常棒!