日期:2014-05-16  浏览次数:20758 次

Linux下使用curl命令发送GET请求时多个参数截断的问题

原始请求如下:

?

sudo  curl -i http://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428&b=39.90923
[1] 8741
[jb-xccheng@usa-ip-12 ~]$ HTTP/1.1 500 Internal Server Error
Server: nginx/1.2.0
Date: Wed, 20 Jun 2012 04:16:21 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 1180
Connection: keep-alive

#出错信息

[1]+  Done  sudo curl -i http://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428 

?

我们看到实际发出的请求是:http://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428,这是因为&在shell脚本中有特殊的意义(以daemon运行)所以只要在&前加上反斜杠\转义一下就OK了。