【问题标题】:CURL GET Raw File from BitBucket Repository with securityCURL GET 来自 BitBucket 存储库的原始文件,具有安全性
【发布时间】:2019-01-15 13:38:20
【问题描述】:

我正在尝试使用 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

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

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

注意:对于这种特殊用途,安全性不是问题。我还尝试了以下链接中的解决方案:Download private BitBucket repository zip file using http authentication

【问题讨论】:

    标签: git curl bitbucket


    【解决方案1】:

    你差不多了,试试下面的:

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

    这是curl的文档

    • -O,--remote-name:“把输出写到一个本地文件,名字跟我们得到的远程文件一样。(只使用远程文件的文件部分,路径被截断。)”

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

    【讨论】:

    • 感谢您的回复。我仍然没有通过这个调用获得原始文件。我得到了网页的 html 源代码。还有其他想法吗?
    • 这很奇怪,我之前使用我的一个私有 BitBucket 存储库尝试了我的解决方案,它与 README.md 文件配合得很好。介意再次尝试确保路径、分支、文件名、用户名和密码正确吗?或者,HTML 源代码是怎么说的?您是否收到错误消息或类似的信息?
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        将以下内容替换为您的 令牌 bitbucket.com(网址) 项目名 回购名称 文件名 分行名

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

        【讨论】:

          猜你喜欢
          • 2022-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多