【问题标题】:Curl to Python to download a GZ file?卷曲到 Python 以下载 GZ 文件?
【发布时间】:2022-01-18 05:56:33
【问题描述】:
curl --location --request GET 'https://sampleurl/sample.log.gz' \
--header 'Authorization: Bearer XXXTokenXXX' \
--data-raw '{
    "enabled": true
}' | gunzip -c

我的要求是下载一个 gz 日志文件。以上是按预期工作的示例 curl。如何将其添加到 python 代码中?

【问题讨论】:

    标签: python-3.x curl download gzip gunzip


    【解决方案1】:

    编辑:原来有一个专门解决这个问题的库。这是gzip librarystackoverflow post about this exact topic


    旧答案:您可以使用requests library 来执行此操作,方法是将custom headers 作为字典传入,然后将响应的内容写入文件。

    import requests
    url = 'https://sampleurl/sample.log.gz'
    headers = {'Authorization': 'Bearer XXXTokenXXX'}
    response = requests.get(url, headers=headers)  # if the URL will redirect, include allow_redirects=True
    
    with open('C:\\path\\to\\save\\to', 'wb') as file:
        file.write(response.content)
    

    您可能需要修改它以使其适用于您的用例(特别是如果 --data-raw 位很重要),但这是一般的想法。如果您需要下载特别大的文件或想查看其他一些替代解决方案,可以查看此older question

    【讨论】:

    • 感谢您的帮助。上面是以不可读的格式编写内容,这意味着只有 curl 工作,而不是 gunzip -c 选项。我怎样才能包含它?
    • @NagasriVarma 原来有一个专门用于解决这个确切问题的库,如果我进行了更好的搜索,我会发现它。这是gzip librarystackoverflow post about this exact topic(希望有足够好的答案)。我将编辑我的答案以包括这些
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多