使用文本文件中的外部变量自动执行curl脚本

问题描述 投票:0回答:1

所以我有一个脚本位于

"http://somrething.com?source=<var1>&target=<var2>"

这是两个参数(var1和var2),两个参数都驻留在text / excel文件中。

var1 | var2

ab     cd
ef     gh
.      .
.      .

比如,上表中有n个条目,我想要执行我的curl脚本n次,以便它获取条目,填充查询并执行。我该怎么办呢?

目前,我正在使用python脚本在读取文本文件并逐个跳转到表条目后,在循环内执行此curl查询作为bash命令。

像这样的东西 -

combined_vars = list(zip(var1, var2))

for var1, var2 in combined_vars:
    bashCommand = "curl 'http://somrething.com?source=" + var1 + "&target="+ var2+"'"
    process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()

这个脚本又通过bash脚本执行,因为我需要使用crontab自动完成整个过程。

这似乎效率很低,我想知道是否有另一种方法可以做到这一点。

bash http curl
1个回答
0
投票

假设您的字段不能包含字段分隔符(下面假设为,),使用while / read循环就足够了:

while IFS=',' read var1 var2; do
    curl "http://somrething.com?source=$var1&target=$var2"
done < input.csv
© www.soinside.com 2019 - 2024. All rights reserved.