我有多个查询参数,我想使用 curl 在 HTTP PUT 操作中发送这些参数。如何对查询参数进行编码?示例:
$ curl -X PUT http://example.com/resource/1?param1=value%201¶m2=value2
如果“值 1”包含空格或 shell 解释的其他字符,则该命令将无法正确解析。
最佳答案
解决方案是结合使用 -G
开关和 --data-urlencode
开关。使用原始示例,命令如下所示:
$ curl -X PUT -G 'http://example.com/resource/1' --data-urlencode 'param1=value 1' --data-urlencode param2=value2
-G
开关使使用 --data-urlencode
开关编码的参数附加到带有 ?
分隔符。
在示例中,param1
的值将被编码为 value%201
,其中 %20 是空格字符的编码值。
关于web-services - HTTP PUT 的查询参数的 curl 命令行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980081/