我收到此 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]#
Run Code Online (Sandbox Code Playgroud)
您的网址似乎有误:
https://10.1.1.132/rest/rm-central/v1/recovery-sets?query="volumeType EQ 'vvol'"
Run Code Online (Sandbox Code Playgroud)
尤其是那query=部分。
引号应该是这样的:
'https://10.1.1.132/rest/rm-central/v1/recovery-sets?query=foobar'
Run Code Online (Sandbox Code Playgroud)
或用“双引号”
下面的 CURL 语法解决了我的问题:
# 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'\""
Run Code Online (Sandbox Code Playgroud)
使用--data-urlencode卷曲选项。
var=volumeType EQ 'vvol'
curl -sSLG "https://10.1.1.132/rest/rm-central/v1/recovery-sets" --data-urlencode "query=$var"
Run Code Online (Sandbox Code Playgroud)
请注意,联机帮助页表明这是针对 POST 请求的:
--数据-urlencode
(HTTP) 这会发布数据,与其他 -d、--data 选项类似,但它会执行 URL 编码。
使用时,此选项将使使用 -d、--data、--data-binary 或 --data-urlencode 指定的所有数据在 HTTP GET 请求中使用,而不是在其他情况下使用的 POST 请求。数据将附加到带有“?”的 URL 中 分隔器。
| 归档时间: |
|
| 查看次数: |
54509 次 |
| 最近记录: |