使用curl想服务器发送数据时,使用 -d 选项,可以使用 –data-urlencode 进行url编码,编码使用的是平台默认的编码,可以使用 iconv -f utf8 -t gbk 进行编码转换,小编通常是配合 xargs 使用。
echo "-d 'age=25' --data-urlencode 'name=码农小麦' "
| iconv -f utf-8 -t gbk | xargs curl http://127.0.0.1/hello
另一种方式,添加请求头信息,指明字符集。
curl -H 'Content-type:application/x-www-form-urlencoded;charset=GBK'
-d 'age=25' --data-urlencode 'name=码农小麦' http://127.0.0.1/hello
注意使用 -d 默认就是post请求,也可以使用 -X POST显式声明;多个参数可以使用一个 -d 也可以使用多个;