首页 > 解决方案 > cURL GET 返回意外结果

问题描述

我正在向主要细胞载体实验室之一的机器人发送卷曲,当我这样做时,我得到了意想不到的结果:

λ curl --digest \
>     -v \
>     -X GET \
>     -d @- \
>     http://b-wit-a2pgw-4444.company.sncrmmp.com/up22/rcs/chatbots?ho=404045&client_vendor=COMPANY&client_version=ANDR5.2
[1] 2047
[2] 2048
[2]+  Done                    client_vendor=COMPANY

这些是我做卷曲的说明:

Execute the following request:
•   GET [BOTSGW_SERVICE_HOST]/up22/rcs/chatbots?ho=404045&client_vendor=WITS&client_version=ANDR5.2
•   With Digest Auth

这是我应该得到的回应:

200 Ok
{
    "bots": [
        {
            "id": "sip:GSMA@bots.wcs-dev.company.com",
            "name": "GSMA Test Bot",
            "verified": false,
            "nickname": "@GSMA",
            "featured": false,
            "subscribed": true,
            "allowSubscribers": true,
            "allowOperatorMessaging": false,
            "new": false
        },
(...)
   ],
    "itemsReturned": 10,
    "startIndex": 0,
    "totalItems": 12
}

我究竟做错了什么?

标签: curl

解决方案


你应该把你的 URL 放在引号中&=因为这些是 bash 中的保留运算符,它们应该被转义

curl --digest \
 -v \
 -X GET \
 -d @- \
 'http://b-wit-a2pgw-4444.company.sncrmmp.com/up22/rcs/chatbotsho=404045&client_vendor=WITS&client_version=ANDR5.2'

或者

curl --digest \
 -v \
 -X GET \
 -d @- \
 http://b-wit-a2pgw-4444.company.sncrmmp.com/up22/rcs/chatbotsho\=404045\&client_vendor\=WITS\&client_version\=ANDR5.2

推荐阅读