【问题标题】:Nested cURL call嵌套 cURL 调用
【发布时间】:2017-12-17 02:42:33
【问题描述】:

我有一个 cron 任务用我当前的 IP 地址更新我的 DDNS,并通过 cURL 调用来完成。

问题是要在调用中传递的参数之一是当前 IP,为了发现 ir,我需要进行另一个 cURL 调用。

我想知道是否可以在一个脚本中嵌套两个 cURL 调用,以使我的 cron 任务避免额外的脚本

示例:

获取我当前使用的 ip

curl ipinfo.io/ip

要更新我需要做的 ddns:

curl -X PUT "https://api.cloudflare.com/client/v4/zones/2wertyh/dns_records/23ertghj" \
     -H "X-Auth-Email: tomatechines@gmail.com" \
     -H "X-Auth-Key: 123ertgyh" \
     -H "Content-Type: application/json" \
     --data '{"type":"A","name":"qwsdfg.com.br","content":"MY-CURRENT-IP","ttl":1800,"proxied":false}'

如何将这两个调用组合在一起以完成我的 cron 任务

【问题讨论】:

    标签: bash curl cron ubuntu-16.04 ubuntu-server


    【解决方案1】:

    使用command substitution,像这样:

    curl -X PUT "https://api.cloudflare.com/client/v4/zones/2wertyh/dns_records/23ertghj" \
         -H "X-Auth-Email: tomatechines@gmail.com" \
         -H "X-Auth-Key: 123ertgyh" \
         -H "Content-Type: application/json" \
         --data '{"type":"A","name":"qwsdfg.com.br","content":"'"$(curl ipinfo.io/ip)"'","ttl":1800,"proxied":false}'
    

    --data 的字符串参数由三个连接的部分组成,'beginning'"$(curl ...)"'ending'(更多详细信息请参阅this answer)。

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 2013-01-12
      • 2016-02-24
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多