【发布时间】:2021-01-12 08:53:23
【问题描述】:
我想在 shell 脚本的 CURL 请求中发送这个字符串:
"google-site-verification=O_Kd7lqvCvpBz7fzEeUKGVKBmsAsfJgaJuh3PZRnrsk"
为此,我正在使用此脚本:
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"
但我系统地收到此错误消息:
{"message":"Invalid JSON received","httpCode":"400 Bad Request","errorCode":"INVALID_JSON"}
使用 curl -v 更新:
你有什么办法解决这个问题吗?
谢谢 L.
【问题讨论】:
-
OVH_TARGET="\"google-site-verification=O_Kd7lqvCvpBz7fzEeUKGVKBmsAsfJgaJuh3PZRnrsk\""
-
如果您不依赖字符串中的变量替换,您可以使用单引号作为文字字符串:
'"google-site-verification=XXXXXX"'。还要确保您不发布敏感信息。 -
@Raman Sailopal:我尝试过同样的错误
-
@Jorge Bellon:同样的问题(这些信息是假的没问题)
-
好的。您介意在打开
-v(详细)选项的情况下发布该 curl 命令的输出吗?这应该显示请求的主体,以验证 JSON 验证的问题所在。