我们如何生成所有参数组合以形成URL

时间:2013-12-28 09:52:12

标签: url parameters combinations permutation

假设我有一个网址

xyz.com/param1=abc&param2=123&param3=!@#

每个参数都可以有许多值,如:

param1 = abc, xyz, qwe 
param2 = 123, 456, 789
param3 = !@#, $%^, &*(

将从excel文件中读取所有参数和值。可以有n个参数,每个参数可以有任意数量的值。

我想生成所有可以使用每个参数的所有值形成的组合。

输出将如下:

xyz.com/param1=abc&param2=123&param3=!@#
xyz.com/param1=xyz&param2=456&param3=!@#
xyz.com/param1=qwe&param2=123&param3=!@#
xyz.com/param1=qwe&param2=456&param3=!@#
xyz.com/param1=xyz&param2=789&param3=$%^

... .. 等等

1 个答案:

答案 0 :(得分:0)

除了帖子中的上一条评论之外,您还需要构建一些嵌套循环。

我假设你有一个bash shell可用(因为你没有指定你想要的语言)。

for I in 'abc' 'xyz' 'qwe'
do
  for J in '123' '456' '789'
  do
    for K in '!@#' '$%^' '&*('
    do
      echo "xyz.com/param1=${I}&param2=${J}&param3=${K}"
    done
  done
done

请注意:

  • '&*('会给您带来问题,因为&是您用来分隔每个参数的字符。
  • 围绕echo的双引号",将使双引号字符使该程序失败惨淡
  • 同样适用于'\和其他一些