嵌套的 cURL 调用
Nested cURL call
我有一个 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 任务
使用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)。
我有一个 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 任务
使用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)。