curl命令发送http请求,由于一些字符编码问题(如+,中文字符等等),会导致参数接收时出现错误,需要编码后发送,下面是几个样例。
GET:
curl -X GET --header 'Accept: text/html' -G --data-urlencode "page=1" --data-urlencode "size=10" --data-urlencode "userid=dP5VG5V69viuvrg2xqqCxS0OshKx1fgpyj7KFomDZSYEqCAfyarb2A2qZ/YwNgOQBvDezXf8WU5Mu9eEh2iXFkvLPsZxeZX0RSEiW2X1HxCuEEApKRVLxfbDFObSDLkeLmFGsjsvDcFAus9oJjXFQFu6ERPpa9bSHgbupCsaAfTjLQSB39IhqR3ngTz6rDjhjafY10Vo/3Qz8N6Z4A4AmkiHQNxJYANUh7Pap0bM2c24vtHeJvIp5Yue+Qk/1lre/PLQBycJfAzuCda+jBe1TMoyuTGdgnir+r+jMPwnRJGDSTS3i9SXmbPSQNDgmXDxVDS6uBP7peKHZh+R0E3MOg==" "http://ip:port/api/service"
POST:
curl -X POST --header 'Accept: text/html' --data-urlencode "page=1" --data-urlencode "size=10" --data-urlencode "userid=dP5VG5V69viuvrg2xqqCxS0OshKx1fgpyj7KFomDZSYEqCAfyarb2A2qZ/YwNgOQBvDezXf8WU5Mu9eEh2iXFkvLPsZxeZX0RSEiW2X1HxCuEEApKRVLxfbDFObSDLkeLmFGsjsvDcFAus9oJjXFQFu6ERPpa9bSHgbupCsaAfTjLQSB39IhqR3ngTz6rDjhjafY10Vo/3Qz8N6Z4A4AmkiHQNxJYANUh7Pap0bM2c24vtHeJvIp5Yue+Qk/1lre/PLQBycJfAzuCda+jBe1TMoyuTGdgnir+r+jMPwnRJGDSTS3i9SXmbPSQNDgmXDxVDS6uBP7peKHZh+R0E3MOg==" "http://ip:port/api/service"
POST(json格式参数,无需编码):
curl -X POST --header 'Content-Type: application/json' --data '{"userid":"dP5VG5V69viuvrg2xqqCxS0OshKx1fgpyj7KFomDZSYEqCAfyarb2A2qZ/YwNgOQBvDezXf8WU5Mu9eEh2iXFkvLPsZxeZX0RSEiW2X1HxCuEEApKRVLxfbDFObSDLkeLmFGsjsvDcFAus9oJjXFQFu6ERPpa9bSHgbupCsaAfTjLQSB39IhqR3ngTz6rDjhjafY10Vo/3Qz8N6Z4A4AmkiHQNxJYANUh7Pap0bM2c24vtHeJvIp5Yue+Qk/1lre/PLQBycJfAzuCda+jBe1TMoyuTGdgnir+r+jMPwnRJGDSTS3i9SXmbPSQNDgmXDxVDS6uBP7peKHZh+R0E3MOg==","areaCode":"B024","agentid":"53549"}' "http://ip:port/api/service"
描述:
参数 | 作用 |
-X | 指定GET或POST |
--data-urlencode | 用于参数编码 |
-G | GET请求时用于将参数追加到url之后 |
备注:try 'curl --help' or 'curl --manual' for more information
官方文档:https://curl.haxx.se/book.html
参考:
【1】Any way to encode the url in curl command? https://unix.stackexchange.com/questions/86729/any-way-to-encode-the-url-in-curl-command