小编Zac*_*den的帖子

通过 API 下载 Github 版本

我正在尝试在我公司的企业 github 服务器上下载存储库的版本。我有带有 OAuth 令牌的正确授权标头,并且能够获取发布端点的响应。这个特定的存储库包含源代码的 zip 和 tarball 以及已编译的可执行文件。我正在尝试下载构建的可执行文件。发布请求的响应如下所示,其中包含感兴趣的密钥browser_download_url中的密钥。assets

{
    "url": "***/releases/1491",
    "assets_url": "***/releases/1491/assets",
    "upload_url": "***/releases/1491/assets{?name,label}",
    "html_url": "***/releases/tag/1.0.6",
    "id": 1491,
    "tag_name": "1.0.6",
    "target_commitish": "release-1.0.6",
    "name": "1.0.6",
    "draft": false,
    "prerelease": true,
    "created_at": "2017-10-03T15:51:25Z",
    "published_at": "2017-10-10T16:54:16Z",
    "assets": [
        {
            "url": "***/releases/assets/53",
            "id": 53,
            "name": "<program>.exe",
            "label": null,
            "content_type": "application/x-msdownload",
            "state": "uploaded",
            "size": 36023208,
            "download_count": 10,
            "created_at": "2017-10-10T17:40:32Z",
            "updated_at": "2017-10-10T17:40:32Z",
            "browser_download_url": "***/1.0.6/<program>.exe"
        }
    ],
    "tarball_url": "***/tarball/1.0.6",
    "zipball_url": "***/zipball/1.0.6",
    "body": "<description of release>"
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试请求时,browser_download_url我会在响应内容中获取登录页面的 html,因为它正在寻找进一步的身份验证。

response = session.get(release_endpoint_response.json()['assets'][0]['browser_download_url'], …
Run Code Online (Sandbox Code Playgroud)

python github github-api python-requests

3
推荐指数
1
解决办法
3697
查看次数

标签 统计

github ×1

github-api ×1

python ×1

python-requests ×1