使用 & 不带单引号执行 curl 命令时响应不同

使用 & 不带单引号执行 curl 命令时响应不同

我正在打admitAD API使用 curl 命令。

如果我下面的 URL

curl -L -H'授权:持有者MY_TOKEN'-X GEThttps://api.admitad.com/payments/?limit=2&has_statement=0

我收到了回复

 {
    "_meta": {
        "count": 21,
        "limit": 2,
        "offset": 0
    },
    "results": [{},{}]
 }

但如果我点击这个 URL,请注意 URL 被双引号括起来

curl -L -H'授权:Bearer MY_TOKEN'-X GET“https://api.admitad.com/payments/?limit=2&has_statement=0”

我无法得到有效的回应

{
    "_meta": {
        "count": 0,
        "limit": 2,
        "offset": 0
    },
    "results": []
}

我甚至在邮递员中尝试过这个,但它也给出了无效的回应

请帮忙

答案1

如果没有引号,&则会导致其之前的所有内容在后台运行。有效地使您的命令成为:

curl -L -H 'Authorization: Bearer MY_TOKEN' -X GET https://api.admitad.com/payments/?limit=2

然后has_statement=0作为单独(但有效)的命令执行。

使用引号,&将转义并发送预期的命令。当它包含部分时,它显然会失败&has_statement=0。它使用 Postman 也会失败,这一事实也支持了这一点。

相关内容