CURL从请求和下载文件获取下载链接

时间:2018-06-14 12:36:34

标签: json api curl git-bash

我正在使用conversocial API: https://api-docs.conversocial.com/1.1/reports/

使用文档中的示例,在所有调整之后,我收到了这个“输出”

{
    "report": {
        "name": "dump", "generation_start_date": "2012-05-30T17:09:40",
        "url": "https://api.conversocial.com/v1.1/reports/5067",
        "date_from": "2012-05-21",
        "generated_by": {
            "url": "https://api.conversocial.com/v1.1/moderators/11599",
            "id": "11599"
        },
        "generated_date": "2012-05-30T17:09:41",
        "channel": {
            "url": "https://api.conversocial.com/v1.1/channels/387",
            "id": "387"
        },
        "date_to": "2012-05-28",
        "download": "https://s3.amazonaws.com/conversocial/reports/70c68360-1234/@twitter-from-may-21-2012-to-may-28-2012.zip",
        "id": "5067"
    }
}

目前,我可以将此JSON输出排序为仅下载并将接收此输出

{
   "report" : {
      "download" : "https://s3.amazonaws.com/conversocial/reports/70c68360-1234/@twitter-from-may-21-2012-to-may-28-2012.zip"
   }
}

是否通过使用CURL自动执行此过程,以使curl下载此文件?

下载我打算用简单的方式:

curl URL_LINK > FILEPATH/EXAMPLE.ZIP

目前认为有一种方法可以用下载链接替换URL_LINK吗?或任何其他方式,方法,方式,????

1 个答案:

答案 0 :(得分:0)

尝试一下:

requests

只需替换您的import requests requests.get('https://www.google.com') # For example. jq参数,基于您的json,可能是:

curl $(curl -s https://httpbin.org/get | jq ".url" -r) > file

url将删除双引号jq ".report.download" -r

它的工作方式是使用command substitution $()

-r

这将获取您的URL并使用"从返回的JSON中提取新URL,稍后将其作为参数传递给curl。