使用`-d`卷曲带参数的URL

时间:2013-01-02 06:53:58

标签: url curl web

我有一个带有这样一些参数的网址:

http://cistrome.org/finder/site/result?did=1200&tf=AR&Gene_box=&all_gene=1&region_select=proximal&extend_bp_number=200&repeat_bp_number=150&primer=0

它在浏览器中运行良好。

但是当我试图通过这样的curl得到结果时:

curl -d "did=1200%20tf=AR%20Gene_box=%20all_gene=1%20region_select=proximal%20extend_bp_number=200%20repeat_bp_number=150%20primer=0" http://cistrome.org/finder/site/result

它返回一条消息did未作为请求传递。

如果我直接使用网址,它会给我这样的结果:

curl http://cistrome.org/finder/site/result?did=1200&tf=AR&Gene_box=&all_gene=1&region_select=proximal&extend_bp_number=200&repeat_bp_number=150&primer=0
[1] 4931*emphasized text*
[2] 4932
[3] 4933
[4] 4934
[5] 4935
[6] 4936
[7] 4937
[2]   Done                    tf=AR
[3]   Done                    Gene_box=
[4]   Done                    all_gene=1
[5]   Done                    region_select=proximal
[6]-  Done                    extend_bp_number=200

有没有人有这方面的想法?

2 个答案:

答案 0 :(得分:1)

请改用以下命令:

curl 'http://cistrome.org/finder/site/result?did=1200&tf=AR&Gene_box=&all_gene=1&region_select=proximal&extend_bp_number=200&repeat_bp_number=150&primer=0'

答案 1 :(得分:1)

shell将&符号解释为应作为后台进程运行的命令的结尾。您可以将URL括在引号中,也可以使用反斜杠转义&符号,如下所示:

curl http://cistrome.org/finder/site/result?did=1200\&tf=AR\&Gene_box=\&all_gene=1\&region_select=proximal\&extend_bp_number=200\&repeat_bp_number=150\&primer=0