安全地从BitBucket存储库中CURL GET Raw File

时间:2019-01-15 13:38:21

标签: git curl bitbucket

我正在尝试使用curl通过以下命令从Bitbucket存储库中获取原始文件(我尝试了很多,但包括了后两个):

curl  -L -O  https://user:password@bitbucket.org/username/repository/branch/HEAD/filename.txt
curl  -L -O  https://user:password@bitbucket.org/username/repository/branch/raw/filename.txt

我有一个提交到master分支的文件名为filename.txt

我想获取上述文件的原始版本。我需要什么代码?我从这些命令中得到的就是页面包含的HTML代码。

注意:对于此特定用法,安全性不是问题。我还在以下链接中尝试过解决方案:Download private BitBucket repository zip file using http authentication

4 个答案:

答案 0 :(得分:0)

您几乎拥有它,请尝试以下操作:

curl -O -u username:password https://bitbucket.org/username/repository/raw/branch/filename.txt
  

这是curl

的文档      
      
  • -O--remote-name:“将输出写到一个名为我们得到的远程文件的本地文件。(仅使用远程文件的文件部分,路径被切断了)”

  •   
  • -u--user <user:password>:“指定用于服务器身份验证的用户名和密码。”

  •   

答案 1 :(得分:0)

这很简单:您的URL确实指向包含该文件的网页。只需选择指向文件的“ RAW”版本的URL(右上角的按钮即可解决问题),然后您将使用该URL获得正确的内容。

答案 2 :(得分:0)

不是那么简单。 BitBucket现在正在围绕原始内容返回一些HTML标记。

<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
...my raw content...
</pre></body></html>

答案 3 :(得分:0)

curl -o filename -H "Authorization: Bearer Token" https://bitbucket.com/projects/projectname/repos/reponame/raw/filename?at=refs%2Fheads%2FBranchName

用你的替换以下内容 令牌 bitbucket.com(网址) 项目名称 重新命名 文件名 分支名称

这对我有用。之前遇到过获取 HTML 垃圾的问题。