cURL命令在终端提示符下不起作用

时间:2020-10-06 18:24:32

标签: bash shell

在/ campaigns下的文档here之后,我使用api键尝试了该示例。

我正在Mac(bash shell)上使用终端窗口。

curl -X POST https://api.mailerlite.com/api/v2/campaigns \
-d '{
        "subject": "Regular campaign subject",
    "segments": 1291259,
    "type": "regular"
}' \
-H "Content-Type: application/json" \
-H "X-MailerLite-ApiKey: <api-key>" \

我将整个内容粘贴到提示中,即使这似乎不是正确的方法。

该命令的一部分会被理解,然后部分通过,shell会询问以下Display all 114 possibilities question

~/: curl -X POST https://api.mailerlite.com/api/v2/campaigns \
> -d '{
> 
Display all 114 possibilities? (y or n)

后跟目录列表,后跟:

> campaign subject",
>     "segments": 1291259,
>     "type": "regular"
> }' \
> -H "Content-Type: application/json" \
> -H "X-MailerLite-ApiKey: <api-key>" \
> 
{"error":{"code":400,"message":"Campaign type is missing"}}~/: 

从bash shell发出多行cURL命令的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

用制表符替换空格,并删除最后一个反斜杠,然后它应该可以正常工作。

curl -X POST https://api.mailerlite.com/api/v2/campaigns \
-d '{
    "subject": "Regular campaign subject",
    "segments": 1291259,
    "type": "regular"
}' \
-H "Content-Type: application/json" \
-H "X-MailerLite-ApiKey: <api-key>"

它向我提供以下输出:

$ curl -X POST https://api.mailerlite.com/api/v2/campaigns \
> -d '{
>     "subject": "Regular campaign subject",
>     "segments": 1291259,
>     "type": "regular"
> }' \
> -H "Content-Type: application/json" \
> -H "X-MailerLite-ApiKey: <api-key>"
{"campaign_type":"regular","date":"2020-10-06 19:21:47","account_id":<id>,"id":<id>,"mail_id":<id>,"options":{"current_step":"step3","send_type":"regular","campaign_type":"regular","date":"2020-10-06 19:21:47"}}