我有一个带有这样一些参数的网址:
它在浏览器中运行良好。
但是当我试图通过这样的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®ion_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
有没有人有这方面的想法?
答案 0 :(得分:1)
请改用以下命令:
curl 'http://cistrome.org/finder/site/result?did=1200&tf=AR&Gene_box=&all_gene=1®ion_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\®ion_select=proximal\&extend_bp_number=200\&repeat_bp_number=150\&primer=0