1

我有一个带有一些参数的网址,如下所示:

http://cistrome.org/finder/site/result?di​​d=1200&tf=AR&Gene_box=&all_gene=1®ion_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未作为请求传递的消息。

如果我直接使用 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
[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

有人对此有想法吗?

4

2 回答 2

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'
于 2013-01-02T07:20:53.900 回答
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
于 2014-07-29T21:53:59.543 回答