我正在尝试使用bash中的curl来下载网页,但&
URL中的符号不会被解释为我想要的字符.关于如何说服bash这个符号&
只是一个无聊的角色而没什么特别的任何想法?
mju*_*rez 108
将整个URL放在双引号内应该可以解决您的问题.
Mat*_*ark 35
curl "http://www.example.com?m=method&args=1"
Run Code Online (Sandbox Code Playgroud)
您是否使用&作为GET URL的分隔符?或者是一段数据?
如果是数据,则必须将其编码为HTML字符,否则,用引号括起来.
编码&
应该%26
在URL中.
curl "http://www.example.com?m=this%26that
Run Code Online (Sandbox Code Playgroud)
Che*_*off 21
在&
符号周围加上单引号似乎有效.也就是说,使用http://www.example.com/page.asp?arg1=${i}'&'arg2=${j}
与curl 类似的URL会返回请求的网页.
noe*_*ego 13
您可以使用-d参数在POST请求中指定http url参数,而不是尝试转义"&"字符,如下所示:
curl -X POST http://www.example.com \
-d arg1=this \
-d arg2=that
Run Code Online (Sandbox Code Playgroud)
如果请求是GET,那么您还应该添加-G选项,它告诉curl使用GET请求发送数据.
curl -X GET -G http://www.example.com \
-d arg1=this \
-d arg2=that
Run Code Online (Sandbox Code Playgroud)