curl查询参数获取

curl查询参数获取,curl,get,Curl,Get,我发现这个CURL命令有一个错误,而Chrome DHC应用程序也有同样的错误。我错过了什么 [root@host125]# curl -sk -X 'GET' -H 'X-Auth-Token: [REDACTED]' -H 'Content-type: application/json' https://10.1.1.132/rest/rm-central/v1/recovery-sets?query="volumeType EQ 'vvol'" {"badRequest": {"messa

我发现这个CURL命令有一个错误,而Chrome DHC应用程序也有同样的错误。我错过了什么

[root@host125]# curl -sk -X 'GET' -H 'X-Auth-Token: [REDACTED]' -H 'Content-type: application/json' https://10.1.1.132/rest/rm-central/v1/recovery-sets?query="volumeType EQ 'vvol'"
{"badRequest": {"message": "QueryFilter Error :: Given Query Filter syntax 'query=' is not valid ", "code": 400}}
[root@host125]#
[root@host125]#
[root@host125]#
您的URL似乎有误:

https://10.1.1.132/rest/rm-central/v1/recovery-sets?query="volumeType EQ 'vvol'"
尤其是
query=
部分

引用应如下所示:

'https://10.1.1.132/rest/rm-central/v1/recovery-sets?query=foobar'

或者用下面的“双引号”解决了我的问题:

# curl -k -G -X 'GET' -H 'X-Auth-Token: 5127af39b7584d8c8897a0cad55accdc' -H 'Content-type: application/json' https://10.1.1.132/rest/rm-central/v1/recovery-sets -d "query=\"volumeType%20EQ%20'vvol'\""
使用curl的
--data urlencode
选项

var=volumeType EQ 'vvol'
curl -sSLG "https://10.1.1.132/rest/rm-central/v1/recovery-sets" --data-urlencode "query=$var"
可能在发送到服务器-G/--get之前删除了“或”。使用此选项时,将在HTTP get请求中使用用-d/--data或--data二进制指定的所有数据,而不是在其他情况下使用的POST请求。数据将用“?”分隔符附加到URL。