简体   繁体   English

如何在 JSON curl 请求中发送双引号

[英]How to send double quotes inside JSON curl request

I want to send this string inside a CURL request from shell script:我想在 shell 脚本的 CURL 请求中发送这个字符串:

"google-site-verification=O_Kd7lqvCvpBz7fzEeUKGVKBmsAsfJgaJuh3PZRnrsk"

To do that I'm using this script:为此,我正在使用此脚本:

OVH_HTTP_METHOD="POST"
OVH_HTTP_QUERY="$OVH_API_URL/$OVH_API_END_POINT_DOMAIN_ZONE_DNS/domain.com/$OVH_API_END_POINT_DOMAIN_ZONE_DNS_RECORD"
OVH_FIELD_TYPE="TXT"
OVH_SUB_DOMAIN=""
OVH_TARGET=""google-site-verification=O_Kd7lqvCvpBz7fzEeUKGVKBmsAsfJgaJuh3PZRnrsk""
OVH_HTTP_BODY="{\"fieldType\":\"$OVH_FIELD_TYPE\",\"subDomain\":\"$OVH_SUB_DOMAIN\",\"target\":\"$OVH_TARGET\"}"

curl -X $OVH_HTTP_METHOD \
    $OVH_HTTP_QUERY \
    -H "Content-Type: application/json" \
    -H "X-Ovh-Application: $OVH_API_APPLICATION_KEY" \
    -H "X-Ovh-Timestamp: $OVH_TIME" \
    -H "X-Ovh-Signature: $OVH_SIG" \
    -H "X-Ovh-Consumer: $OVH_API_CONSUMER_KEY" \
    --data "$OVH_HTTP_BODY"

But I get systematically this error message:但我系统地收到此错误消息:

{"message":"Invalid JSON received","httpCode":"400 Bad Request","errorCode":"INVALID_JSON"}

UPDATE with curl -v:使用 curl -v 更新:

在此处输入图像描述

Do you have any idea to solve that?你有什么想法来解决这个问题吗?

Thanks L.谢谢L。

solution found below: variable has to be escaped like this:解决方案如下:必须像这样转义变量:

OVH_TARGET="\\\"google-site-verification=O_Kd7lqvCvpBz7fzEeUKGVKBmsAsfJgaJuh3PZRnrsk\\\""

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM